diff options
Diffstat (limited to 'lua')
-rw-r--r-- | lua/default-config.lua | 9 | ||||
-rw-r--r-- | lua/lsp/init.lua | 1 | ||||
-rw-r--r-- | lua/lv-galaxyline/init.lua | 33 | ||||
-rw-r--r-- | lua/lv-hop/init.lua | 1 | ||||
-rw-r--r-- | lua/plugins.lua | 62 | ||||
-rw-r--r-- | lua/settings.lua | 110 |
6 files changed, 127 insertions, 89 deletions
diff --git a/lua/default-config.lua b/lua/default-config.lua index 0553226f..83ff1cc2 100644 --- a/lua/default-config.lua +++ b/lua/default-config.lua @@ -1,6 +1,7 @@ CONFIG_PATH = vim.fn.stdpath('config') DATA_PATH = vim.fn.stdpath('data') CACHE_PATH = vim.fn.stdpath('cache') +TERMINAL = vim.fn.expand('$TERMINAL') O = { auto_close_tree = 0, @@ -18,6 +19,8 @@ O = { ignore_case = true, smart_case = true, lushmode = false, + hl_search = false, + transparent_window = false; leader_key = "space"; -- @usage pass a table with your desired languages @@ -145,9 +148,9 @@ O = { virtual_text = {spacing = 0, prefix = "ï„‘"}, signs = true, underline = true, - cross_file_rename = true, - header_insertion = 'never' - } + }, + cross_file_rename = true, + header_insertion = 'never' }, ruby = { diagnostics = { diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua index 367aefba..8bc8984f 100644 --- a/lua/lsp/init.lua +++ b/lua/lsp/init.lua @@ -20,7 +20,6 @@ vim.cmd("nnoremap <silent> gd <cmd>lua vim.lsp.buf.definition()<CR>") vim.cmd("nnoremap <silent> gD <cmd>lua vim.lsp.buf.declaration()<CR>") vim.cmd("nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR>") vim.cmd("nnoremap <silent> gi <cmd>lua vim.lsp.buf.implementation()<CR>") -vim.cmd("nnoremap <silent> ca :Lspsaga code_action<CR>") vim.cmd("nnoremap <silent> K :Lspsaga hover_doc<CR>") -- vim.cmd('nnoremap <silent> <C-k> <cmd>lua vim.lsp.buf.signature_help()<CR>') vim.cmd("nnoremap <silent> <C-p> :Lspsaga diagnostic_jump_prev<CR>") diff --git a/lua/lv-galaxyline/init.lua b/lua/lv-galaxyline/init.lua index a7821932..51b9072c 100644 --- a/lua/lv-galaxyline/init.lua +++ b/lua/lv-galaxyline/init.lua @@ -103,7 +103,7 @@ table.insert(gls.left, { highlight = {colors.red, colors.bg} } }) -print(vim.fn.getbufvar(0, 'ts')) +-- print(vim.fn.getbufvar(0, 'ts')) vim.fn.getbufvar(0, 'ts') table.insert(gls.left, { @@ -178,9 +178,38 @@ table.insert(gls.right, { } }) +local get_lsp_client = function (msg) + msg = msg or "No Active LSP Client" + local buf_ft = vim.api.nvim_buf_get_option(0, 'filetype') + local clients = vim.lsp.get_active_clients() + if next(clients) == nil then + return msg + end + local lsps = "" + for _,client in ipairs(clients) do + local filetypes = client.config.filetypes + if filetypes and vim.fn.index(filetypes, buf_ft) ~=1 then + -- print(client.name) + if lsps == "" then + -- print("first", lsps) + lsps = client.name + else + lsps = lsps .. ", " .. client.name + -- print("more", lsps) + end + end + end + if lsps == "" then + return msg + else + return lsps + end +end + + table.insert(gls.right, { ShowLspClient = { - provider = 'GetLspClient', + provider = get_lsp_client, condition = function() local tbl = {['dashboard'] = true, [' '] = true} if tbl[vim.bo.filetype] then return false end diff --git a/lua/lv-hop/init.lua b/lua/lv-hop/init.lua index 21003374..8e30a1c8 100644 --- a/lua/lv-hop/init.lua +++ b/lua/lv-hop/init.lua @@ -1,6 +1,7 @@ local M = {} M.config = function() + require('hop').setup() vim.api.nvim_set_keymap('n', 's', ":HopChar2<cr>", {silent = true}) vim.api.nvim_set_keymap('n', 'S', ":HopWord<cr>", {silent = true}) end diff --git a/lua/plugins.lua b/lua/plugins.lua index bc78ebab..0a59ae8d 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -10,21 +10,19 @@ if fn.empty(fn.glob(install_path)) > 0 then end local packer_ok, packer = pcall(require, "packer") -if not packer_ok then - return -end +if not packer_ok then return end packer.init { - -- compile_path = vim.fn.stdpath('data')..'/site/pack/loader/start/packer.nvim/plugin/packer_compiled.vim', - compile_path = require("packer.util").join_paths(vim.fn.stdpath('config'), 'plugin', 'packer_compiled.vim'), - git = { - clone_timeout = 300 - }, - display = { - open_fn = function() - return require("packer.util").float { border = "single" } - end, - }, + -- compile_path = vim.fn.stdpath('data')..'/site/pack/loader/start/packer.nvim/plugin/packer_compiled.vim', + compile_path = require("packer.util").join_paths(vim.fn.stdpath('config'), + 'plugin', + 'packer_compiled.vim'), + git = {clone_timeout = 300}, + display = { + open_fn = function() + return require("packer.util").float {border = "single"} + end + } } vim.cmd "autocmd BufWritePost plugins.lua PackerCompile" -- Auto compile when there are changes in plugins.lua @@ -46,15 +44,15 @@ return require("packer").startup(function(use) config = [[require('lv-telescope')]], cmd = "Telescope" } - -- Snap - use { - "camspiers/snap", - rocks = "fzy", - config = function() - require("lv-snap").config() - end, - disable = not O.plugin.snap.active, - } + -- Snap TODO disable for now, need to only install fzy when user specifies they want to use snap + -- use { + -- "camspiers/snap", + -- rocks = "fzy", + -- config = function() + -- require("lv-snap").config() + -- end, + -- disable = not O.plugin.snap.active + -- } -- Autocomplete use { "hrsh7th/nvim-compe", @@ -90,8 +88,11 @@ return require("packer").startup(function(use) use {"folke/which-key.nvim"} -- Autopairs - use {"windwp/nvim-autopairs", - config = function() require'lv-autopairs' end + use { + "windwp/nvim-autopairs", + config = function() + require 'lv-autopairs' + end } -- Comments @@ -221,7 +222,6 @@ return require("packer").startup(function(use) use { "lukas-reineke/indent-blankline.nvim", - branch = "lua", event = "BufRead", setup = function() @@ -400,9 +400,8 @@ return require("packer").startup(function(use) -- Lush Create Color Schemes use { "rktjmp/lush.nvim", - event = "VimEnter", -- cmd = {"LushRunQuickstart", "LushRunTutorial", "Lushify"}, - -- disable = not O.plugin.lush.active, + disable = not O.plugin.lush.active, } -- HTML preview use { @@ -421,15 +420,12 @@ return require("packer").startup(function(use) -- LANGUAGE SPECIFIC GOES HERE -- Latex TODO what filetypes should this be active for? - use {"lervag/vimtex", ft = "latex", disable = not O.lang.latex.active} + use {"lervag/vimtex", ft = "latex"} -- Rust tools -- TODO: use lazy loading maybe? - use {"simrat39/rust-tools.nvim", disable = not O.lang.rust.active} + use {"simrat39/rust-tools.nvim", ft = "rust"} -- Elixir - use {"elixir-editors/vim-elixir", - ft = {"elixir", "eelixir"}, - disable = not O.lang.elixir.active - } + use {"elixir-editors/vim-elixir", ft = {"elixir", "eelixir", "euphoria3"}} end) diff --git a/lua/settings.lua b/lua/settings.lua index 4aaad357..6c7f7ddf 100644 --- a/lua/settings.lua +++ b/lua/settings.lua @@ -1,50 +1,60 @@ -vim.cmd('set iskeyword+=-') -- treat dash separated words as a word text object" -vim.opt.shortmess:append("c") -- Don't pass messages to |ins-completion-menu|. -vim.cmd('set inccommand=split') -- Make substitution work in realtime -vim.o.hidden = O.hidden_files -- Required to keep multiple buffers open multiple buffers -vim.o.title = true -TERMINAL = vim.fn.expand('$TERMINAL') -vim.cmd('let &titleold="'..TERMINAL..'"') -vim.o.titlestring="%<%F%=%l/%L - nvim" -vim.wo.wrap = O.wrap_lines -- Display long lines as just one line -vim.cmd('set whichwrap+=<,>,[,],h,l') -- move to next line with theses keys -vim.o.pumheight = 10 -- Makes popup menu smaller -vim.o.fileencoding = "utf-8" -- The encoding written to file -vim.o.cmdheight = 2 -- More space for displaying messages -vim.cmd('set colorcolumn=99999') -- fix indentline for now -vim.o.mouse = "a" -- Enable your mouse -vim.o.splitbelow = true -- Horizontal splits will automatically be below -vim.o.termguicolors = true -- set term gui colors most terminals support this -vim.o.splitright = true -- Vertical splits will automatically be to the right --- vim.o.t_Co = "256" -- Support 256 colors -vim.o.conceallevel = 0 -- So that I can see `` in markdown files -vim.opt.tabstop = 4 -- Insert 2 spaces for a tab -vim.opt.shiftwidth = 4 -- Change the number of space characters inserted for indentation ---vim.opt.softtabstop = 4 -vim.opt.expandtab = true -- Converts tabs to spaces -vim.o.completeopt = "menuone,noselect" -vim.bo.smartindent = true -- Makes indenting smart -vim.wo.number = O.number -- set numbered lines -vim.wo.relativenumber = O.relative_number -- set relative number -vim.wo.cursorline = O.cursorline -- set highlighting of the current line -vim.o.showtabline = 2 -- Always show tabs -vim.o.showmode = false -- We don't need to see things like -- INSERT -- anymore -vim.o.backup = false -- This is recommended by coc -vim.o.writebackup = false -- This is recommended by coc -vim.o.swapfile = false -- Do not write any swp files -vim.o.undodir = CACHE_PATH .. '/undo' -- Set undo directory -vim.o.undofile = true -- Enable persistent undo -vim.wo.signcolumn = "yes" -- Always show the signcolumn, otherwise it would shift the text each time -vim.o.updatetime = 300 -- Faster completion -vim.o.timeoutlen = O.timeoutlen -- By default timeoutlen is 1000 ms -vim.o.clipboard = "unnamedplus" -- Copy paste between vim and everything else --- vim.g.nvim_tree_disable_netrw = O.nvim_tree_disable_netrw -- enable netrw for remote gx gf support (must be set before plugin's packadd) -vim.cmd('filetype plugin on') -- filetype detection --- vim.o.guifont = "JetBrainsMono\\ Nerd\\ Font\\ Mono:h18" --- vim.o.guifont = "Hack\\ Nerd\\ Font\\ Mono" --- vim.o.guifont = "SauceCodePro Nerd Font:h17" -vim.o.guifont = "FiraCode Nerd Font:h17" - --- vim.o.guifont = "JetBrains\\ Mono\\ Regular\\ Nerd\\ Font\\ Complete" -vim.o.ignorecase = O.ignore_case -vim.o.smartcase = O.smart_case +--- HELPERS --- + + +local cmd = vim.cmd +local opt = vim.opt + + +--- VIM ONLY COMMANDS --- + + +cmd('filetype plugin on') -- filetype detection +cmd('let &titleold="'..TERMINAL..'"') +cmd('set inccommand=split') -- show what you are substituting in real time +cmd('set iskeyword+=-') -- treat dash as a separate word +cmd('set whichwrap+=<,>,[,],h,l') -- move to next line with theses keys +if O.transparent_window then + cmd('au ColorScheme * hi Normal ctermbg=none guibg=none') + end + +--- SETTINGS --- + + +opt.backup = false -- creates a backup file +opt.clipboard = "unnamedplus" -- allows neovim to access the system clipboard +opt.cmdheight = 2 -- more space in the neovim command line for displaying messages +opt.colorcolumn = "99999" -- fix indentline for now +opt.completeopt = {'menuone', 'noselect'} +opt.conceallevel = 0 -- so that `` is visible in markdown files +opt.fileencoding = "utf-8" -- the encoding written to a file +opt.guifont = "monospace:h17" -- the font used in graphical neovim applications +opt.hidden = O.hidden_files -- required to keep multiple buffers and open multiple buffers +opt.hlsearch = O.hl_search -- highlight all matches on previous search pattern +opt.ignorecase = O.ignore_case -- ignore case in search patterns +opt.mouse = "a" -- allow the mouse to be used in neovim +opt.pumheight = 10 -- pop up menu height +opt.showmode = false -- we don't need to see things like -- INSERT -- anymore +opt.showtabline = 2 -- always show tabs +opt.smartcase = O.smart_case -- smart case +opt.smartindent = true -- make indenting smarter again +opt.splitbelow = true -- force all horizontal splits to go below current window +opt.splitright = true -- force all vertical splits to go to the right of current window +opt.swapfile = false -- creates a swapfile +opt.termguicolors = true -- set term gui colors (most terminals support this) +opt.timeoutlen = O.timeoutlen -- time to wait for a mapped sequence to complete (in milliseconds) +opt.title = true -- set the title of window to the value of the titlestring +opt.titlestring = "%<%F%=%l/%L - nvim" -- what the title of the window will be set to +opt.undodir = CACHE_PATH .. '/undo' -- set an undo directory +opt.undofile = true -- enable persisten undo +opt.updatetime = 300 -- faster completion +opt.writebackup = false -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited +opt.expandtab = true -- convert tabs to spaces +opt.shiftwidth = 4 -- the number of spaces inserted for each indentation +opt.shortmess:append("c") -- don't pass messages to |ins-completion-menu| +opt.tabstop = 4 -- insert 4 spaces for a tab +opt.cursorline = O.cursorline -- highlight the current line +opt.number = O.number -- set numbered lines +opt.relativenumber = O.relative_number -- set relative numbered lines +opt.signcolumn = "yes" -- always show the sign column, otherwise it would shift the text each time +opt.wrap = O.wrap_lines -- display lines as one long line + |