merge
This commit is contained in:
		
						commit
						227e6d7116
					
				
					 15 changed files with 186 additions and 281 deletions
				
			
		
							
								
								
									
										43
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										43
									
								
								README.md
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -65,6 +65,30 @@ without Treesitter :
 | 
			
		|||
with Treesitter :
 | 
			
		||||
<kbd> <img src = "https://raw.githubusercontent.com/siduck76/dotfiles/master/rice%20flex/wiTree.png"></kbd><hr>
 | 
			
		||||
 | 
			
		||||
### nvim-base16 -
 | 
			
		||||
 | 
			
		||||
contains a collection of all base16 themes for vim , plugin written in lua (comparison of base16-vim and nvim-base16):
 | 
			
		||||
 | 
			
		||||
nvim-base16 doesnt even take time to load unlike base16-vim which was eating half of the loadup time! ( the below screenshot was taken and tested on my old pentium laptop , so results might differ)
 | 
			
		||||
<kbd> <img src = "https://raw.githubusercontent.com/siduck76/dotfiles/master/rice%20flex/nvim-base16.png"></kbd><hr>
 | 
			
		||||
 | 
			
		||||
(neovim loads pretty fast on ssds)
 | 
			
		||||
 | 
			
		||||
<kbd> <img src = "https://raw.githubusercontent.com/siduck76/dotfiles/master/rice%20flex/nvim-startup.png"></kbd><hr>
 | 
			
		||||
 | 
			
		||||
# Config structure
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
     nvim
 | 
			
		||||
      ├──init.lua
 | 
			
		||||
      └──lua
 | 
			
		||||
          └──foo
 | 
			
		||||
              └──lua.lua
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
- The init.lua is used instead of init.vim.
 | 
			
		||||
- The lua folder contains modules , in the example above "foo" could be considered as a module and it contains a lua.lua file in which you could write your config in lua , its like splitting the overall config into small bit . To load/source that "foo" module , you need to specify it in init.lua like this : require('foo.lua').
 | 
			
		||||
 | 
			
		||||
# Features
 | 
			
		||||
 | 
			
		||||
- File navigation with Nvimtree
 | 
			
		||||
| 
						 | 
				
			
			@ -99,7 +123,9 @@ with Treesitter :
 | 
			
		|||
# Clone my setup -
 | 
			
		||||
 | 
			
		||||
- Install neovim-nightly , also use a nerdfont on your terminal.
 | 
			
		||||
- run the install.sh script as root or copy the configs manually :
 | 
			
		||||
- run the install.sh (this might work only on nix systems) and open neovim , do :PackerInstall 
 | 
			
		||||
- or do it manually :
 | 
			
		||||
 | 
			
		||||
- Install packer.nvim
 | 
			
		||||
 | 
			
		||||
```shell
 | 
			
		||||
| 
						 | 
				
			
			@ -107,9 +133,9 @@ git clone https://github.com/wbthomason/packer.nvim\
 | 
			
		|||
 ~/.local/share/nvim/site/pack/packer/start/packer.nvim
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
- copy all config files in from this repo except ( plugin folder as it has config related to my system's username! )
 | 
			
		||||
- Open neovim and install all plugins , :PackerInstall and :TSUpdate
 | 
			
		||||
- Install language servers and prettier ( for autocompletion etc and code formatting , nodejs should be installed too!)
 | 
			
		||||
- copy lua folder and init.lua into ~/.config/nvim
 | 
			
		||||
- Open neovim and install all plugins , :PackerInstall (let treesitter install all its extensionsm
 | 
			
		||||
- Install language servers and prettier ( for autocompletion etc and code formatting , nodejs should be installed too!) , this usually depends on the language support you want to add in your neovim config.
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
sudo npm install -g vscode-html-languageserver-bin typescript typescript-language-server  vscode-css-languageserver-bin prettier
 | 
			
		||||
| 
						 | 
				
			
			@ -130,7 +156,7 @@ I'd install it first and add its setup line :
 | 
			
		|||
 | 
			
		||||
<kbd> space </kbd> is the leader key
 | 
			
		||||
 | 
			
		||||
- <kbd> Ctrl </kbd> <kbd> b </kbd> Open terminal vertically over right
 | 
			
		||||
- <kbd> Ctrl </kbd> <kbd> l </kbd> Open terminal vertically over right
 | 
			
		||||
- <kbd> Ctrl </kbd> <kbd> x </kbd> Open terminal horizontally below the current window
 | 
			
		||||
- <kbd> Ctrl </kbd> <kbd> n </kbd> toggle neovim tree
 | 
			
		||||
- <kbd> Ctrl </kbd> <kbd> a </kbd> copies everything in the current file
 | 
			
		||||
| 
						 | 
				
			
			@ -150,13 +176,6 @@ I'd install it first and add its setup line :
 | 
			
		|||
- add snippets support
 | 
			
		||||
- show statusline in inactive windows
 | 
			
		||||
 | 
			
		||||
# Troubleshooting -
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
if you get any errors with packer.nvim , then remove the ~/.config/nvim/plugin/packer_nvim.vim file since it just has file paths for my system
 | 
			
		||||
and re-install packer.nvim
 | 
			
		||||
 | 
			
		||||
# Contact -
 | 
			
		||||
 | 
			
		||||
- My linux / unix related ricing community: https://t.me/DE_WM (telegram)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										62
									
								
								init.lua
									
										
									
									
									
								
							
							
						
						
									
										62
									
								
								init.lua
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,19 +1,19 @@
 | 
			
		|||
-- load all plugins
 | 
			
		||||
require("pluginsList.lua")
 | 
			
		||||
require("web-devicons.lua")
 | 
			
		||||
require("file-icons.lua")
 | 
			
		||||
 | 
			
		||||
require("utils.lua")
 | 
			
		||||
require("misc-utils.lua")
 | 
			
		||||
require("nvimTree.lua")
 | 
			
		||||
require("bufferline.lua")
 | 
			
		||||
require("statusline.lua")
 | 
			
		||||
require("telescope-nvim.lua")
 | 
			
		||||
require("telescope.lua")
 | 
			
		||||
 | 
			
		||||
require("gitsigns.lua")
 | 
			
		||||
require "colorizer".setup()
 | 
			
		||||
 | 
			
		||||
-- lsp
 | 
			
		||||
require("nvim-lspconfig.lua")
 | 
			
		||||
require("nvim-compe.lua")
 | 
			
		||||
require("lspconfig.lua")
 | 
			
		||||
require("compe.lua")
 | 
			
		||||
 | 
			
		||||
local cmd = vim.cmd
 | 
			
		||||
local g = vim.g
 | 
			
		||||
| 
						 | 
				
			
			@ -21,12 +21,14 @@ local g = vim.g
 | 
			
		|||
g.mapleader = " "
 | 
			
		||||
g.auto_save = 1
 | 
			
		||||
 | 
			
		||||
-- colorscheme
 | 
			
		||||
-- colorscheme related stuff
 | 
			
		||||
 | 
			
		||||
cmd "colorscheme base16-onedark"
 | 
			
		||||
cmd "syntax enable"
 | 
			
		||||
cmd "syntax on"
 | 
			
		||||
 | 
			
		||||
local base16 = require "base16"
 | 
			
		||||
base16(base16.themes["onedark"], true)
 | 
			
		||||
 | 
			
		||||
-- blankline
 | 
			
		||||
 | 
			
		||||
local indent = 2
 | 
			
		||||
| 
						 | 
				
			
			@ -34,34 +36,40 @@ local indent = 2
 | 
			
		|||
g.indentLine_enabled = 1
 | 
			
		||||
g.indent_blankline_char = "▏"
 | 
			
		||||
 | 
			
		||||
cmd("hi IndentBlanklineChar guifg=#373b43")
 | 
			
		||||
cmd("hi IndentBlanklineChar guifg=#2a2e36")
 | 
			
		||||
 | 
			
		||||
g.indent_blankline_filetype_exclude = {"help", "terminal"}
 | 
			
		||||
g.indent_blankline_buftype_exclude = {"terminal"}
 | 
			
		||||
 | 
			
		||||
g.indent_blankline_show_trailing_blankline_indent = false
 | 
			
		||||
g.indent_blankline_show_first_indent_level = false
 | 
			
		||||
 | 
			
		||||
require("treesitter.lua")
 | 
			
		||||
require("mappings.lua")
 | 
			
		||||
 | 
			
		||||
-- highlights
 | 
			
		||||
cmd("hi LineNr guibg=NONE")
 | 
			
		||||
-- highlights --
 | 
			
		||||
cmd("hi LineNr guifg=#383c44 guibg=NONE")
 | 
			
		||||
cmd("hi Comment guifg=#3d4149")
 | 
			
		||||
 | 
			
		||||
cmd("hi SignColumn guibg=NONE")
 | 
			
		||||
cmd("hi VertSplit guibg=NONE")
 | 
			
		||||
cmd("hi VertSplit guibg=NONE guifg=#2a2e36")
 | 
			
		||||
cmd("hi DiffAdd guifg=#81A1C1 guibg = none")
 | 
			
		||||
cmd("hi DiffChange guifg =#3A3E44 guibg = none")
 | 
			
		||||
cmd("hi DiffModified guifg = #81A1C1 guibg = none")
 | 
			
		||||
cmd("hi EndOfBuffer guifg=#282c34")
 | 
			
		||||
cmd("hi EndOfBuffer guifg=#1e222a")
 | 
			
		||||
 | 
			
		||||
cmd("hi TelescopeBorder   guifg=#3e4451")
 | 
			
		||||
cmd("hi TelescopePromptBorder   guifg=#3e4451")
 | 
			
		||||
cmd("hi TelescopeResultsBorder  guifg=#3e4451")
 | 
			
		||||
-- telescope stuff and popupmenu
 | 
			
		||||
cmd("hi TelescopeBorder   guifg=#2a2e36")
 | 
			
		||||
cmd("hi TelescopePromptBorder   guifg=#2a2e36")
 | 
			
		||||
cmd("hi TelescopeResultsBorder  guifg=#2a2e36")
 | 
			
		||||
cmd("hi TelescopePreviewBorder  guifg=#525865")
 | 
			
		||||
cmd("hi PmenuSel  guibg=#98c379")
 | 
			
		||||
cmd("hi PmenuSel guibg=#98c379")
 | 
			
		||||
cmd("hi Pmenu  guibg=#282c34")
 | 
			
		||||
 | 
			
		||||
-- tree folder name , icon color
 | 
			
		||||
cmd("hi NvimTreeFolderIcon guifg = #61afef")
 | 
			
		||||
cmd("hi NvimTreeFolderName guifg = #61afef")
 | 
			
		||||
cmd("hi NvimTreeIndentMarker guifg=#545862")
 | 
			
		||||
cmd("hi NvimTreeIndentMarker guifg=#383c44")
 | 
			
		||||
 | 
			
		||||
cmd("hi Normal guibg=NONE ctermbg=NONE")
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -73,14 +81,14 @@ require("lspkind").init(
 | 
			
		|||
)
 | 
			
		||||
 | 
			
		||||
-- nvimTree bg color
 | 
			
		||||
cmd("hi CustomExplorerBg guibg=#242830")
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_exec(
 | 
			
		||||
    [[
 | 
			
		||||
augroup NvimTree 
 | 
			
		||||
  au!
 | 
			
		||||
  au FileType NvimTree setlocal winhighlight=Normal:CustomExplorerBg
 | 
			
		||||
 augroup END
 | 
			
		||||
 ]],
 | 
			
		||||
    false
 | 
			
		||||
)
 | 
			
		||||
-- hide line numbers in terminal windows
 | 
			
		||||
vim.api.nvim_exec([[
 | 
			
		||||
   au BufEnter term://* setlocal nonumber
 | 
			
		||||
]], false)
 | 
			
		||||
 | 
			
		||||
-- inactive statuslines as thin splitlines
 | 
			
		||||
cmd("highlight! StatusLineNC gui=underline guibg=NONE guifg=#383c44")
 | 
			
		||||
 | 
			
		||||
-- smooth scroll
 | 
			
		||||
require("neoscroll").setup()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,7 +35,7 @@ heading "old nvim config will be deleted so watchout :0"
 | 
			
		|||
 | 
			
		||||
# copying config 
 | 
			
		||||
 | 
			
		||||
rm -rf ~/.config/nvim/ && mkdir ~/.config/nvim
 | 
			
		||||
rm -rf ~/.config/nvim/ && mkdir -p ~/.config/nvim
 | 
			
		||||
cp -r init.lua ~/.config/nvim && cp -r lua ~/.config/nvim 
 | 
			
		||||
 | 
			
		||||
#for f in `find -E . -regex ".*\.vim$|.*\.lua$"`; do
 | 
			
		||||
| 
						 | 
				
			
			@ -60,15 +60,15 @@ install_node_deps () {
 | 
			
		|||
    echo "npm not installed"
 | 
			
		||||
    return
 | 
			
		||||
  fi
 | 
			
		||||
 sudo npm install -g $@
 | 
			
		||||
  sudo npm install -g $@
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
install_python_deps () {
 | 
			
		||||
  if [[ -z $(which pip) ]]; then
 | 
			
		||||
  if [[ -z $(which pip) && -z $(which pip3) ]]; then
 | 
			
		||||
    echo "python/pip not installed"
 | 
			
		||||
    return
 | 
			
		||||
  fi
 | 
			
		||||
 sudo python3 -m pip install $@
 | 
			
		||||
  sudo python3 -m pip install $@
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
install_ts() {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
vim.o.termguicolors = true
 | 
			
		||||
 | 
			
		||||
-- colors for active , inactive buffer tabs 
 | 
			
		||||
-- colors for active , inactive uffer tabs
 | 
			
		||||
require "bufferline".setup {
 | 
			
		||||
    options = {
 | 
			
		||||
        buffer_close_icon = "",
 | 
			
		||||
| 
						 | 
				
			
			@ -19,36 +19,40 @@ require "bufferline".setup {
 | 
			
		|||
    highlights = {
 | 
			
		||||
        background = {
 | 
			
		||||
            guifg = comment_fg,
 | 
			
		||||
            guibg = "#282c34"
 | 
			
		||||
            guibg = "#1e222a"
 | 
			
		||||
        },
 | 
			
		||||
        fill = {
 | 
			
		||||
            guifg = comment_fg,
 | 
			
		||||
            guibg = "#282c34"
 | 
			
		||||
            guibg = "#1e222a"
 | 
			
		||||
        },
 | 
			
		||||
        buffer_selected = {
 | 
			
		||||
            guifg = normal_fg,
 | 
			
		||||
            guibg = "#3A3E44",
 | 
			
		||||
            guibg = "#282c34",
 | 
			
		||||
            gui = "bold"
 | 
			
		||||
        },
 | 
			
		||||
        buffer_visible = {
 | 
			
		||||
            guifg = "#3e4451",
 | 
			
		||||
            guibg = "#1e222a"
 | 
			
		||||
        },
 | 
			
		||||
        separator_visible = {
 | 
			
		||||
            guifg = "#282c34",
 | 
			
		||||
            guibg = "#282c34"
 | 
			
		||||
            guifg = "#1e222a",
 | 
			
		||||
            guibg = "#1e222a"
 | 
			
		||||
        },
 | 
			
		||||
        separator_selected = {
 | 
			
		||||
            guifg = "#282c34",
 | 
			
		||||
            guibg = "#282c34"
 | 
			
		||||
            guifg = "#1e222a",
 | 
			
		||||
            guibg = "#1e222a"
 | 
			
		||||
        },
 | 
			
		||||
        separator = {
 | 
			
		||||
            guifg = "#282c34",
 | 
			
		||||
            guibg = "#282c34"
 | 
			
		||||
            guifg = "#1e222a",
 | 
			
		||||
            guibg = "#1e222a"
 | 
			
		||||
        },
 | 
			
		||||
        indicator_selected = {
 | 
			
		||||
            guifg = "#282c34",
 | 
			
		||||
            guibg = "#282c34"
 | 
			
		||||
            guifg = "#1e222a",
 | 
			
		||||
            guibg = "#1e222a"
 | 
			
		||||
        },
 | 
			
		||||
        modified_selected = {
 | 
			
		||||
            guifg = string_fg,
 | 
			
		||||
            guibg = "#3A3E44"
 | 
			
		||||
            guibg = "#353b45"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -59,9 +63,11 @@ vim.g.mapleader = " "
 | 
			
		|||
 | 
			
		||||
--command that adds new buffer and moves to it
 | 
			
		||||
vim.api.nvim_command "com -nargs=? -complete=file_in_path New badd <args> | blast"
 | 
			
		||||
vim.api.nvim_set_keymap("n","<S-b>",":New ", opt)
 | 
			
		||||
vim.api.nvim_set_keymap("n", "<S-b>", ":New ", opt)
 | 
			
		||||
 | 
			
		||||
--removing a buffer
 | 
			
		||||
vim.api.nvim_set_keymap("n","<S-f>",[[<Cmd>bdelete<CR>]], opt)
 | 
			
		||||
vim.api.nvim_set_keymap("n", "<S-f>", [[<Cmd>bdelete<CR>]], opt)
 | 
			
		||||
 | 
			
		||||
-- tabnew and tabprev
 | 
			
		||||
vim.api.nvim_set_keymap("n", "<S-l>", [[<Cmd>BufferLineCycleNext<CR>]], opt)
 | 
			
		||||
vim.api.nvim_set_keymap("n", "<S-s>", [[<Cmd>BufferLineCyclePrev<CR>]], opt)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,23 +35,24 @@ local t = function(str)
 | 
			
		|||
end
 | 
			
		||||
 | 
			
		||||
local check_back_space = function()
 | 
			
		||||
    local col = vim.fn.col('.') - 1
 | 
			
		||||
    if col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then
 | 
			
		||||
    local col = vim.fn.col(".") - 1
 | 
			
		||||
    if col == 0 or vim.fn.getline("."):sub(col, col):match("%s") then
 | 
			
		||||
        return true
 | 
			
		||||
    else
 | 
			
		||||
        return false
 | 
			
		||||
    end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- tab completion
 | 
			
		||||
 | 
			
		||||
_G.tab_complete = function()
 | 
			
		||||
  if vim.fn.pumvisible() == 1 then
 | 
			
		||||
    return t "<C-n>"
 | 
			
		||||
  elseif check_back_space() then
 | 
			
		||||
    return t "<Tab>"
 | 
			
		||||
  else
 | 
			
		||||
    return vim.fn['compe#complete']()
 | 
			
		||||
  end
 | 
			
		||||
    if vim.fn.pumvisible() == 1 then
 | 
			
		||||
        return t "<C-n>"
 | 
			
		||||
    elseif check_back_space() then
 | 
			
		||||
        return t "<Tab>"
 | 
			
		||||
    else
 | 
			
		||||
        return vim.fn["compe#complete"]()
 | 
			
		||||
    end
 | 
			
		||||
end
 | 
			
		||||
_G.s_tab_complete = function()
 | 
			
		||||
    if vim.fn.pumvisible() == 1 then
 | 
			
		||||
							
								
								
									
										45
									
								
								lua/lspconfig/lua.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								lua/lspconfig/lua.lua
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,45 @@
 | 
			
		|||
vim.cmd [[packadd nvim-lspconfig]]
 | 
			
		||||
vim.cmd [[packadd nvim-compe]]
 | 
			
		||||
 | 
			
		||||
local nvim_lsp = require("lspconfig")
 | 
			
		||||
 | 
			
		||||
function on_attach(client)
 | 
			
		||||
    local function buf_set_keymap(...)
 | 
			
		||||
        vim.api.nvim_buf_set_keymap(bufnr, ...)
 | 
			
		||||
    end
 | 
			
		||||
    local function buf_set_option(...)
 | 
			
		||||
        vim.api.nvim_buf_set_option(bufnr, ...)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc")
 | 
			
		||||
 | 
			
		||||
    -- Mappings.
 | 
			
		||||
    local opts = {noremap = true, silent = true}
 | 
			
		||||
    buf_set_keymap("n", "gD", "<Cmd>lua vim.lsp.buf.declaration()<CR>", opts)
 | 
			
		||||
    buf_set_keymap("n", "gd", "<Cmd>lua vim.lsp.buf.definition()<CR>", opts)
 | 
			
		||||
    buf_set_keymap("n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts)
 | 
			
		||||
    buf_set_keymap("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
 | 
			
		||||
    buf_set_keymap("n", "<C-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
 | 
			
		||||
    buf_set_keymap("n", "<space>wa", "<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>", opts)
 | 
			
		||||
    buf_set_keymap("n", "<space>wr", "<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>", opts)
 | 
			
		||||
    buf_set_keymap("n", "<space>wl", "<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>", opts)
 | 
			
		||||
    buf_set_keymap("n", "<space>D", "<cmd>lua vim.lsp.buf.type_definition()<CR>", opts)
 | 
			
		||||
    buf_set_keymap("n", "<space>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
 | 
			
		||||
    buf_set_keymap("n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
 | 
			
		||||
    buf_set_keymap("n", "<space>e", "<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>", opts)
 | 
			
		||||
    buf_set_keymap("n", "[d", "<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>", opts)
 | 
			
		||||
    buf_set_keymap("n", "]d", "<cmd>lua vim.lsp.diagnostic.goto_next()<CR>", opts)
 | 
			
		||||
    buf_set_keymap("n", "<space>q", "<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>", opts)
 | 
			
		||||
 | 
			
		||||
    -- Set some keybinds conditional on server capabilities
 | 
			
		||||
    if client.resolved_capabilities.document_formatting then
 | 
			
		||||
        buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
 | 
			
		||||
    elseif client.resolved_capabilities.document_range_formatting then
 | 
			
		||||
        buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.range_formatting()<CR>", opts)
 | 
			
		||||
    end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local servers = {"tsserver", "cssls", "html" , "pyls"}
 | 
			
		||||
for _, lsp in ipairs(servers) do
 | 
			
		||||
    nvim_lsp[lsp].setup {on_attach = on_attach}
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			@ -6,9 +6,12 @@ local function map(mode, lhs, rhs, opts)
 | 
			
		|||
    vim.api.nvim_set_keymap(mode, lhs, rhs, options)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- keybind list
 | 
			
		||||
-- copy any selected text with pressing y
 | 
			
		||||
map("", "<leader>c", '"+y')
 | 
			
		||||
 | 
			
		||||
-- open terminals  
 | 
			
		||||
map("n", "<C-b>" , [[<Cmd> vnew term://bash<CR>]] , opt) -- split term vertically , over the right  
 | 
			
		||||
map("n", "<C-x>" , [[<Cmd> split term://bash | resize 10 <CR>]] , opt) -- split term vertically , over the right  
 | 
			
		||||
-- OPEN TERMINALS --
 | 
			
		||||
map("n", "<C-l>", [[<Cmd>vnew term://bash <CR>]], opt) -- open term over right
 | 
			
		||||
map("n", "<C-x>", [[<Cmd> split term://bash | resize 10 <CR>]], opt) -- open term bottom
 | 
			
		||||
 | 
			
		||||
-- COPY EVERYTHING --
 | 
			
		||||
map("n", "<C-a>", [[ <Cmd> %y+<CR>]], opt)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,42 +0,0 @@
 | 
			
		|||
vim.cmd [[packadd nvim-lspconfig]]
 | 
			
		||||
vim.cmd [[packadd nvim-compe]]
 | 
			
		||||
local nvim_lsp = require('lspconfig')
 | 
			
		||||
function on_attach(client)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
 | 
			
		||||
  local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
 | 
			
		||||
 | 
			
		||||
  buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
 | 
			
		||||
 | 
			
		||||
  -- Mappings.
 | 
			
		||||
  local opts = { noremap=true, silent=true }
 | 
			
		||||
  buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', '<space>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', '<space>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
 | 
			
		||||
 | 
			
		||||
  -- Set some keybinds conditional on server capabilities
 | 
			
		||||
  if client.resolved_capabilities.document_formatting then
 | 
			
		||||
    buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
 | 
			
		||||
  elseif client.resolved_capabilities.document_range_formatting then
 | 
			
		||||
    buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.range_formatting()<CR>", opts)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
end 
 | 
			
		||||
 | 
			
		||||
local servers = { "tsserver", "cssls", "pyls", "html" }
 | 
			
		||||
for _, lsp in ipairs(servers) do
 | 
			
		||||
  nvim_lsp[lsp].setup { on_attach = on_attach }
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			@ -2,27 +2,29 @@ vim.cmd [[packadd nvim-tree.lua]]
 | 
			
		|||
 | 
			
		||||
vim.o.termguicolors = true
 | 
			
		||||
 | 
			
		||||
vim.g.nvim_tree_side = "left"
 | 
			
		||||
vim.g.nvim_tree_width = 25
 | 
			
		||||
vim.g.nvim_tree_ignore = {".git", "node_modules", ".cache"}
 | 
			
		||||
vim.g.nvim_tree_auto_open = 0
 | 
			
		||||
vim.g.nvim_tree_auto_close = 0
 | 
			
		||||
vim.g.nvim_tree_quit_on_open = 0
 | 
			
		||||
vim.g.nvim_tree_follow = 1
 | 
			
		||||
vim.g.nvim_tree_indent_markers = 1
 | 
			
		||||
vim.g.nvim_tree_hide_dotfiles = 1
 | 
			
		||||
vim.g.nvim_tree_git_hl = 1
 | 
			
		||||
vim.g.nvim_tree_root_folder_modifier = ":~"
 | 
			
		||||
vim.g.nvim_tree_tab_open = 1
 | 
			
		||||
vim.g.nvim_tree_allow_resize = 1
 | 
			
		||||
local g = vim.g
 | 
			
		||||
 | 
			
		||||
vim.g.nvim_tree_show_icons = {
 | 
			
		||||
g.nvim_tree_side = "left"
 | 
			
		||||
g.nvim_tree_width = 25
 | 
			
		||||
g.nvim_tree_ignore = {".git", "node_modules", ".cache"}
 | 
			
		||||
g.nvim_tree_auto_open = 0
 | 
			
		||||
g.nvim_tree_auto_close = 0
 | 
			
		||||
g.nvim_tree_quit_on_open = 0
 | 
			
		||||
g.nvim_tree_follow = 1
 | 
			
		||||
g.nvim_tree_indent_markers = 1
 | 
			
		||||
g.nvim_tree_hide_dotfiles = 1
 | 
			
		||||
g.nvim_tree_git_hl = 1
 | 
			
		||||
g.nvim_tree_root_folder_modifier = ":~"
 | 
			
		||||
g.nvim_tree_tab_open = 1
 | 
			
		||||
g.nvim_tree_allow_resize = 1
 | 
			
		||||
 | 
			
		||||
g.nvim_tree_show_icons = {
 | 
			
		||||
    git = 1,
 | 
			
		||||
    folders = 1,
 | 
			
		||||
    files = 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
vim.g.nvim_tree_icons = {
 | 
			
		||||
g.nvim_tree_icons = {
 | 
			
		||||
    default = " ",
 | 
			
		||||
    symlink = " ",
 | 
			
		||||
    git = {
 | 
			
		||||
| 
						 | 
				
			
			@ -55,7 +57,7 @@ vim.api.nvim_set_keymap(
 | 
			
		|||
    }
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
vim.g.nvim_tree_bindings = {
 | 
			
		||||
g.nvim_tree_bindings = {
 | 
			
		||||
    ["<CR>"] = get_lua_cb("edit"),
 | 
			
		||||
    ["o"] = get_lua_cb("edit"),
 | 
			
		||||
    ["<2-LeftMouse>"] = get_lua_cb("edit"),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,20 +1,21 @@
 | 
			
		|||
-- check if packer is installed (~/local/share/nvim/site/pack)
 | 
			
		||||
local packer_exists = pcall(vim.cmd, [[packadd packer.nvim]])
 | 
			
		||||
 | 
			
		||||
-- using { } when using a different branch of the plugin or loading the plugin with certain commands
 | 
			
		||||
return require("packer").startup(
 | 
			
		||||
    function()
 | 
			
		||||
        use {"wbthomason/packer.nvim", opt = true}
 | 
			
		||||
        use {"lukas-reineke/indent-blankline.nvim", branch = "lua"}
 | 
			
		||||
 | 
			
		||||
        use "norcalli/nvim-base16.lua"
 | 
			
		||||
        use "kyazdani42/nvim-web-devicons"
 | 
			
		||||
        use "kyazdani42/nvim-tree.lua"
 | 
			
		||||
        use "nvim-lua/plenary.nvim"
 | 
			
		||||
        use "lewis6991/gitsigns.nvim"
 | 
			
		||||
        use "glepnir/galaxyline.nvim"
 | 
			
		||||
        use "akinsho/nvim-bufferline.lua"
 | 
			
		||||
        use "glepnir/galaxyline.nvim"
 | 
			
		||||
        use "907th/vim-auto-save"
 | 
			
		||||
        use "nvim-treesitter/nvim-treesitter"
 | 
			
		||||
        use "chriskempson/base16-vim"
 | 
			
		||||
        use "norcalli/nvim-colorizer.lua"
 | 
			
		||||
        use "ryanoasis/vim-devicons"
 | 
			
		||||
        use "sbdchd/neoformat"
 | 
			
		||||
| 
						 | 
				
			
			@ -28,5 +29,8 @@ return require("packer").startup(
 | 
			
		|||
        use "nvim-telescope/telescope-media-files.nvim"
 | 
			
		||||
        use "nvim-lua/popup.nvim"
 | 
			
		||||
        use "karb94/neoscroll.nvim"
 | 
			
		||||
 | 
			
		||||
        use "nekonako/xresources-nvim"
 | 
			
		||||
        
 | 
			
		||||
    end
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,10 +1,11 @@
 | 
			
		|||
local gl = require("galaxyline")
 | 
			
		||||
local gls = gl.section
 | 
			
		||||
gl.short_line_list = {" "}
 | 
			
		||||
 | 
			
		||||
gl.short_line_list = {" "} -- keeping this table { } as empty will show inactive statuslines
 | 
			
		||||
 | 
			
		||||
local colors = {
 | 
			
		||||
    bg = "#282c34",
 | 
			
		||||
    line_bg = "#282c34",
 | 
			
		||||
    bg = "#1e222a",
 | 
			
		||||
    line_bg = "#1e222a",
 | 
			
		||||
    fg = "#D8DEE9",
 | 
			
		||||
    fg_green = "#65a380",
 | 
			
		||||
    yellow = "#A3BE8C",
 | 
			
		||||
| 
						 | 
				
			
			@ -16,7 +17,7 @@ local colors = {
 | 
			
		|||
    magenta = "#c678dd",
 | 
			
		||||
    blue = "#22262C",
 | 
			
		||||
    red = "#DF8890",
 | 
			
		||||
    lightbg = "#3C4048",
 | 
			
		||||
    lightbg = "#282c34",
 | 
			
		||||
    nord = "#81A1C1",
 | 
			
		||||
    greenYel = "#EBCB8B"
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -31,7 +32,7 @@ gls.left[1] = {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
gls.left[2] = {
 | 
			
		||||
    ViMode = {
 | 
			
		||||
    statusIcon = {
 | 
			
		||||
        provider = function()
 | 
			
		||||
            return "   "
 | 
			
		||||
        end,
 | 
			
		||||
| 
						 | 
				
			
			@ -168,7 +169,7 @@ gls.right[3] = {
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
gls.right[4] = {
 | 
			
		||||
    SiMode = {
 | 
			
		||||
    ViMode = {
 | 
			
		||||
        provider = function()
 | 
			
		||||
            local alias = {
 | 
			
		||||
                n = "NORMAL",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -60,7 +60,7 @@ local opt = {noremap = true, silent = true}
 | 
			
		|||
 | 
			
		||||
vim.g.mapleader = " "
 | 
			
		||||
 | 
			
		||||
-- mappings 
 | 
			
		||||
-- mappings
 | 
			
		||||
vim.api.nvim_set_keymap("n", "<Leader>ff", [[<Cmd>lua require('telescope.builtin').find_files()<CR>]], opt)
 | 
			
		||||
vim.api.nvim_set_keymap(
 | 
			
		||||
    "n",
 | 
			
		||||
| 
						 | 
				
			
			@ -68,9 +68,8 @@ vim.api.nvim_set_keymap(
 | 
			
		|||
    [[<Cmd>lua require('telescope').extensions.media_files.media_files()<CR>]],
 | 
			
		||||
    opt
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_set_keymap("n", "<Leader>fb", [[<Cmd>lua require('telescope.builtin').buffers()<CR>]], opt)
 | 
			
		||||
vim.api.nvim_set_keymap("n", "<Leader>fh", [[<Cmd>lua require('telescope.builtin').help_tags()<CR>]], opt)
 | 
			
		||||
vim.api.nvim_set_keymap("n", "<Leader>fo", [[<Cmd>lua require('telescope.builtin').oldfiles()<CR>]], opt)
 | 
			
		||||
vim.api.nvim_set_keymap("n", "<Leader>fm", [[<Cmd> Neoformat<CR>]], opt)
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_set_keymap("n", "<C-a>", [[ <Cmd> %y+<CR>]], opt)
 | 
			
		||||
| 
						 | 
				
			
			@ -1,141 +0,0 @@
 | 
			
		|||
" Automatically generated packer.nvim plugin loader code
 | 
			
		||||
 | 
			
		||||
if !has('nvim-0.5')
 | 
			
		||||
  echohl WarningMsg
 | 
			
		||||
  echom "Invalid Neovim version for packer.nvim!"
 | 
			
		||||
  echohl None
 | 
			
		||||
  finish
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
packadd packer.nvim
 | 
			
		||||
 | 
			
		||||
try
 | 
			
		||||
 | 
			
		||||
lua << END
 | 
			
		||||
local package_path_str = "/home/sid/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/sid/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/sid/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/sid/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
 | 
			
		||||
local install_cpath_pattern = "/home/sid/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
 | 
			
		||||
if not string.find(package.path, package_path_str, 1, true) then
 | 
			
		||||
  package.path = package.path .. ';' .. package_path_str
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
 | 
			
		||||
  package.cpath = package.cpath .. ';' .. install_cpath_pattern
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local function try_loadstring(s, component, name)
 | 
			
		||||
  local success, result = pcall(loadstring(s))
 | 
			
		||||
  if not success then
 | 
			
		||||
    print('Error running ' .. component .. ' for ' .. name)
 | 
			
		||||
    error(result)
 | 
			
		||||
  end
 | 
			
		||||
  return result
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
_G.packer_plugins = {
 | 
			
		||||
  ["base16-vim"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/base16-vim"
 | 
			
		||||
  },
 | 
			
		||||
  ["galaxyline.nvim"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/galaxyline.nvim"
 | 
			
		||||
  },
 | 
			
		||||
  ["gitsigns.nvim"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/gitsigns.nvim"
 | 
			
		||||
  },
 | 
			
		||||
  ["indent-blankline.nvim"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim"
 | 
			
		||||
  },
 | 
			
		||||
  indentLine = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/indentLine"
 | 
			
		||||
  },
 | 
			
		||||
  ["lspkind-nvim"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/lspkind-nvim"
 | 
			
		||||
  },
 | 
			
		||||
  neoformat = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/neoformat"
 | 
			
		||||
  },
 | 
			
		||||
  ["nvim-autopairs"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/nvim-autopairs"
 | 
			
		||||
  },
 | 
			
		||||
  ["nvim-bufferline.lua"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/nvim-bufferline.lua"
 | 
			
		||||
  },
 | 
			
		||||
  ["nvim-colorizer.lua"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua"
 | 
			
		||||
  },
 | 
			
		||||
  ["nvim-compe"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/nvim-compe"
 | 
			
		||||
  },
 | 
			
		||||
  ["nvim-lspconfig"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/nvim-lspconfig"
 | 
			
		||||
  },
 | 
			
		||||
  ["nvim-tree.lua"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/nvim-tree.lua"
 | 
			
		||||
  },
 | 
			
		||||
  ["nvim-treesitter"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/nvim-treesitter"
 | 
			
		||||
  },
 | 
			
		||||
  ["nvim-web-devicons"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/nvim-web-devicons"
 | 
			
		||||
  },
 | 
			
		||||
  ["packer.nvim"] = {
 | 
			
		||||
    loaded = false,
 | 
			
		||||
    needs_bufread = false,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/opt/packer.nvim"
 | 
			
		||||
  },
 | 
			
		||||
  ["plenary.nvim"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/plenary.nvim"
 | 
			
		||||
  },
 | 
			
		||||
  ["popup.nvim"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/popup.nvim"
 | 
			
		||||
  },
 | 
			
		||||
  ["startuptime.vim"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/startuptime.vim"
 | 
			
		||||
  },
 | 
			
		||||
  ["telescope-media-files.nvim"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/telescope-media-files.nvim"
 | 
			
		||||
  },
 | 
			
		||||
  ["telescope.nvim"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/telescope.nvim"
 | 
			
		||||
  },
 | 
			
		||||
  ["vim-auto-save"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/vim-auto-save"
 | 
			
		||||
  },
 | 
			
		||||
  ["vim-closetag"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/vim-closetag"
 | 
			
		||||
  },
 | 
			
		||||
  ["vim-devicons"] = {
 | 
			
		||||
    loaded = true,
 | 
			
		||||
    path = "/home/sid/.local/share/nvim/site/pack/packer/start/vim-devicons"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
catch
 | 
			
		||||
  echohl ErrorMsg
 | 
			
		||||
  echom "Error in packer_compiled: " .. v:exception
 | 
			
		||||
  echom "Please check your config for correctness"
 | 
			
		||||
  echohl None
 | 
			
		||||
endtry
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue