From 7d1e8075b8f156f3f8c300326abf730a1a8f2875 Mon Sep 17 00:00:00 2001 From: Gustaf Rydholm Date: Mon, 31 May 2021 22:20:30 +0200 Subject: Copying of Luke's dots --- .config/nvim/lua/_autocommands/init.lua | 15 ++++- .config/nvim/lua/_autopairs/init.lua | 100 +++++++++++--------------------- .config/nvim/lua/_colorizer/init.lua | 14 ++--- .config/nvim/lua/_compe/init.lua | 31 ++++++++-- .config/nvim/lua/_emmet/init.lua | 16 ----- .config/nvim/lua/_galaxyline/init.lua | 8 ++- .config/nvim/lua/_hop/init.lua | 2 + .config/nvim/lua/_lsp-rooter/init.lua | 5 ++ .config/nvim/lua/_neogit/init.lua | 1 - .config/nvim/lua/_numb/init.lua | 4 ++ .config/nvim/lua/_nvimtree/init.lua | 16 ++++- .config/nvim/lua/_quickscope/init.lua | 3 - .config/nvim/lua/_telescope/init.lua | 25 +++----- .config/nvim/lua/_treesitter/init.lua | 10 ++++ .config/nvim/lua/_true-zen/init.lua | 36 ++++-------- .config/nvim/lua/_utils/init.lua | 80 ++++++++++++------------- .config/nvim/lua/_which-key/init.lua | 38 ++++++++---- .config/nvim/lua/globals.lua | 27 +++++---- .config/nvim/lua/lsp/efm-general-ls.lua | 4 +- .config/nvim/lua/lsp/go-ls.lua | 7 +++ .config/nvim/lua/lsp/init.lua | 31 +++++++--- .config/nvim/lua/lsp/python-ls.lua | 11 +++- .config/nvim/lua/mappings.lua | 25 +++++--- .config/nvim/lua/plugins.lua | 55 +++++++++++------- .config/nvim/lua/settings.lua | 13 +++-- 25 files changed, 320 insertions(+), 257 deletions(-) delete mode 100644 .config/nvim/lua/_emmet/init.lua create mode 100644 .config/nvim/lua/_hop/init.lua create mode 100644 .config/nvim/lua/_lsp-rooter/init.lua delete mode 100644 .config/nvim/lua/_neogit/init.lua create mode 100644 .config/nvim/lua/_numb/init.lua create mode 100644 .config/nvim/lua/lsp/go-ls.lua (limited to '.config/nvim/lua') diff --git a/.config/nvim/lua/_autocommands/init.lua b/.config/nvim/lua/_autocommands/init.lua index 1642127..0b69c0f 100644 --- a/.config/nvim/lua/_autocommands/init.lua +++ b/.config/nvim/lua/_autocommands/init.lua @@ -22,16 +22,25 @@ if O.lua.autoformat then table.insert(auto_formatters, lua_format) end local json_format = {'BufWritePre', '*.json', 'lua vim.lsp.buf.formatting_sync(nil, 1000)'} if O.json.autoformat then table.insert(auto_formatters, json_format) end +local go_format = {'BufWritePre', '*.go', 'lua vim.lsp.buf.formatting_sync(nil,1000)'} +if O.go.autoformat then table.insert(auto_formatters, go_format) end + utils.define_augroups({ _general_settings = { {'TextYankPost', '*', 'lua require(\'vim.highlight\').on_yank({higroup = \'Search\', timeout = 200})'}, {'BufWinEnter', '*', 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'}, {'BufRead', '*', 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'}, {'BufNewFile', '*', 'setlocal formatoptions-=c formatoptions-=r formatoptions-=o'}, - {'VimLeavePre', '*', 'set title set titleold='} + {'VimLeavePre', '*', 'set title set titleold='}, + {'FileType', 'qf', 'set nobuflisted'}, - -- {'User', 'GoyoLeave', 'lua require(\'galaxyline\').disable_galaxyline()'}, - -- {'User', 'GoyoEnter', 'lua require(\'galaxyline\').galaxyline_augroup()'}, + }, + _go = { + -- Go generally requires Tabs instead of spaces. + {'FileType', 'go', 'setlocal tabstop=4'}, + {'FileType', 'go', 'setlocal shiftwidth=4'}, + {'FileType', 'go', 'setlocal softtabstop=4'}, + {'FileType', 'go', 'setlocal noexpandtab'}, }, _dashboard = { -- seems to be nobuflisted that makes my stuff disapear will do more testing diff --git a/.config/nvim/lua/_autopairs/init.lua b/.config/nvim/lua/_autopairs/init.lua index 5d0adf8..d9caf22 100644 --- a/.config/nvim/lua/_autopairs/init.lua +++ b/.config/nvim/lua/_autopairs/init.lua @@ -1,77 +1,45 @@ -require('nvim-autopairs').setup() +local remap = vim.api.nvim_set_keymap local npairs = require('nvim-autopairs') +local Rule = require('nvim-autopairs.rule') -local function imap(lhs, rhs, opts) - local options = {noremap = false} - if opts then options = vim.tbl_extend('force', options, opts) end - vim.api.nvim_set_keymap('i', lhs, rhs, options) -end - -_G.MUtils = {} +-- skip it, if you use another global object +_G.MUtils= {} --- TEST vim.g.completion_confirm_key = "" -MUtils.completion_confirm = function() - if vim.fn.pumvisible() ~= 0 then - if vim.fn.complete_info()["selected"] ~= -1 then - vim.fn["compe#confirm"]() - -- return npairs.esc("") - return npairs.esc("") - else - vim.defer_fn(function() - vim.fn["compe#confirm"]("") - end, 20) - return npairs.esc("") - end +MUtils.completion_confirm=function() + if vim.fn.pumvisible() ~= 0 then + if vim.fn.complete_info()["selected"] ~= -1 then + return vim.fn["compe#confirm"](npairs.esc("")) else - return npairs.check_break_line_char() + return npairs.esc("") end + else + return npairs.autopairs_cr() + end end --- TEST -MUtils.completion_confirm = function() - if vim.fn.pumvisible() ~= 0 then - if vim.fn.complete_info()["selected"] ~= -1 then - vim.fn["compe#confirm"]() - return npairs.esc("") - else - vim.api.nvim_select_popupmenu_item(0, false, false, {}) - vim.fn["compe#confirm"]() - return npairs.esc("") - end - else - return npairs.check_break_line_char() - end -end -MUtils.tab = function() - if vim.fn.pumvisible() ~= 0 then - return npairs.esc("") - else - if vim.fn["vsnip#available"](1) ~= 0 then - vim.fn.feedkeys(string.format('%c%c%c(vsnip-expand-or-jump)', 0x80, 253, 83)) - return npairs.esc("") - else - return npairs.esc("") - end - end -end +remap('i' , '','v:lua.MUtils.completion_confirm()', {expr = true , noremap = true}) -MUtils.s_tab = function() - if vim.fn.pumvisible() ~= 0 then - return npairs.esc("") - else - if vim.fn["vsnip#jumpable"](-1) ~= 0 then - vim.fn.feedkeys(string.format('%c%c%c(vsnip-jump-prev)', 0x80, 253, 83)) - return npairs.esc("") - else - return npairs.esc("") - end - end -end +npairs.setup({ + check_ts = true, + ts_config = { + lua = {'string'},-- it will not add pair on that treesitter node + javascript = {'template_string'}, + java = false,-- don't check treesitter on java + } +}) + +require('nvim-treesitter.configs').setup { + autopairs = {enable = true} +} + +local ts_conds = require('nvim-autopairs.ts-conds') --- Autocompletion and snippets -vim.api.nvim_set_keymap('i', '', 'v:lua.MUtils.completion_confirm()', {expr = true, noremap = true}) --- imap("", "v:lua.MUtils.completion_confirm()", {expr = true, noremap = true}) -imap("", "v:lua.MUtils.tab()", {expr = true, noremap = true}) -imap("", "v:lua.MUtils.s_tab()", {expr = true, noremap = true}) +-- press % => %% is only inside comment or string +npairs.add_rules({ + Rule("%", "%", "lua") + :with_pair(ts_conds.is_ts_node({'string','comment'})), + Rule("$", "$", "lua") + :with_pair(ts_conds.is_not_ts_node({'function'})) +}) diff --git a/.config/nvim/lua/_colorizer/init.lua b/.config/nvim/lua/_colorizer/init.lua index 1e25d7d..52e1f8f 100644 --- a/.config/nvim/lua/_colorizer/init.lua +++ b/.config/nvim/lua/_colorizer/init.lua @@ -2,12 +2,10 @@ require'colorizer'.setup( {'*';}, { RGB = true; -- #RGB hex codes - RRGGBB = true; -- #RRGGBB hex codes - names = true; -- "Name" codes like Blue - RRGGBBAA = true; -- #RRGGBBAA hex codes - rgb_fn = true; -- CSS rgb() and rgba() functions - hsl_fn = true; -- CSS hsl() and hsla() functions - css = true; -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB - css_fn = true; -- Enable all CSS *functions*: rgb_fn, hsl_fn + RRGGBB = true; -- #RRGGBB hex codes + RRGGBBAA = true; -- #RRGGBBAA hex codes + rgb_fn = true; -- CSS rgb() and rgba() functions + hsl_fn = true; -- CSS hsl() and hsla() functions + css = true; -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB + css_fn = true; -- Enable all CSS *functions*: rgb_fn, hsl_fn }) - diff --git a/.config/nvim/lua/_compe/init.lua b/.config/nvim/lua/_compe/init.lua index 95c972d..10b3c54 100644 --- a/.config/nvim/lua/_compe/init.lua +++ b/.config/nvim/lua/_compe/init.lua @@ -20,19 +20,40 @@ require'compe'.setup { calc = {kind = "  (Calc)"}, vsnip = {kind = "  (Snippet)"}, nvim_lsp = {kind = "  (LSP)"}, - -- nvim_lua = {kind = "  "}, nvim_lua = false, spell = {kind = "  (Spell)"}, tags = false, vim_dadbod_completion = true, - -- snippets_nvim = {kind = "  "}, - -- ultisnips = {kind = "  "}, - -- treesitter = {kind = "  "}, emoji = {kind = " ﲃ (Emoji)", filetypes={"markdown", "text"}} - -- for emoji press : (idk if that in compe tho) } } +--  +--  +--  +--  +--  +--  +--  +--  +--  +--  +--  +--  +--  +--  +--  +--  +-- ﬘ +--  +--  +--  +-- m +--  +--  +--  +--  + local t = function(str) return vim.api.nvim_replace_termcodes(str, true, true, true) end diff --git a/.config/nvim/lua/_emmet/init.lua b/.config/nvim/lua/_emmet/init.lua deleted file mode 100644 index 9eafbf6..0000000 --- a/.config/nvim/lua/_emmet/init.lua +++ /dev/null @@ -1,16 +0,0 @@ -vim.g.user_emmet_mode='inv' -vim.g.user_emmet_expandabbr_key = ',' -vim.g.user_emmet_expandword_key = ';' -vim.g.user_emmet_update_tag = 'u' -vim.g.user_emmet_balancetaginward_key = 'd' -vim.g.user_emmet_balancetagoutward_key = 'D' -vim.g.user_emmet_next_key = 'n' -vim.g.user_emmet_prev_key = 'N' -vim.g.user_emmet_imagesize_key = 'i' -vim.g.user_emmet_togglecomment_key = '/' -vim.g.user_emmet_splitjointag_key = 'j' -vim.g.user_emmet_removetag_key = 'k' -vim.g.user_emmet_anchorizeurl_key = 'a' -vim.g.user_emmet_anchorizesummary_key = 'A' -vim.g.user_emmet_mergelines_key = 'm' -vim.g.user_emmet_codepretty_key = 'c' diff --git a/.config/nvim/lua/_galaxyline/init.lua b/.config/nvim/lua/_galaxyline/init.lua index 8673cde..7003575 100644 --- a/.config/nvim/lua/_galaxyline/init.lua +++ b/.config/nvim/lua/_galaxyline/init.lua @@ -1,6 +1,7 @@ local gl = require('galaxyline') +-- get my theme in galaxyline repo local colors = { - bg = '#232731', + bg = '#080808', yellow = '#DCDCAA', dark_yellow = '#D7BA7D', cyan = '#4EC9B0', @@ -22,7 +23,7 @@ local condition = require('galaxyline.condition') local gls = gl.section gl.short_line_list = {'NvimTree', 'vista', 'dbui', 'packer'} -gls.left[1] = { +table.insert(gls.left, { ViMode = { provider = function() -- auto change color according the vim mode @@ -53,7 +54,8 @@ gls.left[1] = { end, highlight = {colors.red, colors.bg} } -} +}) + print(vim.fn.getbufvar(0, 'ts')) vim.fn.getbufvar(0, 'ts') diff --git a/.config/nvim/lua/_hop/init.lua b/.config/nvim/lua/_hop/init.lua new file mode 100644 index 0000000..acd4cd7 --- /dev/null +++ b/.config/nvim/lua/_hop/init.lua @@ -0,0 +1,2 @@ +vim.api.nvim_set_keymap('n', 's', ":HopChar2", {silent = true}) +vim.api.nvim_set_keymap('n', 'S', ":HopWord", {silent = true}) diff --git a/.config/nvim/lua/_lsp-rooter/init.lua b/.config/nvim/lua/_lsp-rooter/init.lua new file mode 100644 index 0000000..7f84907 --- /dev/null +++ b/.config/nvim/lua/_lsp-rooter/init.lua @@ -0,0 +1,5 @@ +require("lsp-rooter").setup { + -- your configuration comes here + -- or leave it empty to use the default settings + -- refer to the configuration section below + } diff --git a/.config/nvim/lua/_neogit/init.lua b/.config/nvim/lua/_neogit/init.lua deleted file mode 100644 index ca38081..0000000 --- a/.config/nvim/lua/_neogit/init.lua +++ /dev/null @@ -1 +0,0 @@ -local neogit = require('neogit') diff --git a/.config/nvim/lua/_numb/init.lua b/.config/nvim/lua/_numb/init.lua new file mode 100644 index 0000000..415327f --- /dev/null +++ b/.config/nvim/lua/_numb/init.lua @@ -0,0 +1,4 @@ +require('numb').setup{ + show_numbers = true, -- Enable 'number' for the window while peeking + show_cursorline = true -- Enable 'cursorline' for the window while peeking +} diff --git a/.config/nvim/lua/_nvimtree/init.lua b/.config/nvim/lua/_nvimtree/init.lua index 7dfa02f..64dff6c 100644 --- a/.config/nvim/lua/_nvimtree/init.lua +++ b/.config/nvim/lua/_nvimtree/init.lua @@ -1,4 +1,18 @@ --- vim.g.nvim_tree_disable_netrw = 0 -- "1 by default, disables netrw +--[[ " +--let g:nvim_tree_auto_ignore_ft = 'startify' "empty by default, don't auto open tree on specific filetypes. +let g:nvim_tree_hide_dotfiles = 1 "0 by default, this option hides files and folders starting with a dot `.` +let g:nvim_tree_git_hl = 1 "0 by default, will enable file highlight for git attributes (can be used without the icons). +" let g:nvim_tree_tab_open = 1 "0 by default, will open the tree when entering a new tab and the tree was previously open +" let g:nvim_tree_width_allow_resize = 1 "0 by default, will not resize the tree when opening a file +let g:nvim_tree_show_icons = { + \ 'git': 1, + \ 'folders': 1, + \ 'files': 1, + \ } +"If 0, do not show the icons for one of 'git' 'folder' and 'files' +"1 by default, notice that if 'files' is 1, it will only display +"if nvim-web-devicons is installed and on your runtimepath ]] -- vim.g.nvim_tree_ignore = [ '.git', 'node_modules', '.cache' ] "empty by default +-- vim.g.nvim_tree_disable_netrw = 0 -- moved to lv-globals -- vim.g.nvim_tree_hijack_netrw = 0 --"1 by default, prevents netrw from automatically opening when opening directories (but lets you keep its other utilities) vim.g.nvim_tree_hide_dotfiles = 1 -- 0 by default, this option hides files and folders starting with a dot `.` vim.g.nvim_tree_indent_markers = 1 -- "0 by default, this option shows indent markers when folders are open diff --git a/.config/nvim/lua/_quickscope/init.lua b/.config/nvim/lua/_quickscope/init.lua index 4c70669..817bc6d 100644 --- a/.config/nvim/lua/_quickscope/init.lua +++ b/.config/nvim/lua/_quickscope/init.lua @@ -1,7 +1,4 @@ -- Trigger a highlight in the appropriate direction when pressing these keys: -- vim.cmd('let g:qs_highlight_on_keys = [\'f\', \'F\', \'t\', \'T\']') vim.g.qs_highlight_on_keys = {'f', 'F', 't', 'T'} - -vim.api.nvim_exec('highlight QuickScopePrimary guifg=\'#00C7DF\' gui=underline ctermfg=155 cterm=underline', false) -vim.cmd('highlight QuickScopeSecondary guifg=\'#eF5F70\' gui=underline ctermfg=81 cterm=underline') vim.g.qs_max_chars=150 diff --git a/.config/nvim/lua/_telescope/init.lua b/.config/nvim/lua/_telescope/init.lua index 744fdbf..497f74d 100644 --- a/.config/nvim/lua/_telescope/init.lua +++ b/.config/nvim/lua/_telescope/init.lua @@ -1,4 +1,5 @@ local actions = require('telescope.actions') +local trouble = require("trouble.providers.telescope") -- Global remapping ------------------------------ -- '--color=never', @@ -36,12 +37,15 @@ require('telescope').setup { buffer_previewer_maker = require'telescope.previewers'.buffer_previewer_maker, mappings = { i = { + [""] = actions.close, [""] = actions.move_selection_next, [""] = actions.move_selection_previous, + [""] = trouble.open_with_trouble, + [""] = actions.smart_send_to_qflist + actions.open_qflist, -- To disable a keymap, put [map] = false -- So, to not map "", just put -- [""] = false, - [""] = actions.close, + -- [""] = actions.close, -- Otherwise, just set the mapping to the function that you want it to be. -- [""] = actions.select_horizontal, @@ -54,23 +58,12 @@ require('telescope').setup { }, n = { [""] = actions.move_selection_next, - [""] = actions.move_selection_previous + [""] = actions.move_selection_previous, + [""] = trouble.open_with_trouble, + [""] = actions.smart_send_to_qflist + actions.open_qflist -- [""] = my_cool_custom_action, } } }, - require'telescope'.setup { - extensions = { - media_files = { - -- filetypes whitelist - -- defaults to {"png", "jpg", "mp4", "webm", "pdf"} - filetypes = {"png", "webp", "jpg", "jpeg"}, - find_cmd = "rg" -- find command (defaults to `fd`) - } - } - } + extensions = {fzy_native = {override_generic_sorter = false, override_file_sorter = true}} } -vim.api.nvim_set_keymap('n', 'ff', 'lua require("telescope.builtin").find_files()', { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', 'fg', 'lua require("telescope.builtin").live_grep()', { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', 'fb', 'lua require("telescope.builtin").buffers()', { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', 'fh', 'lua require("telescope.builtin").help_tags()', { noremap = true, silent = true }) diff --git a/.config/nvim/lua/_treesitter/init.lua b/.config/nvim/lua/_treesitter/init.lua index b215e30..0cf6c56 100644 --- a/.config/nvim/lua/_treesitter/init.lua +++ b/.config/nvim/lua/_treesitter/init.lua @@ -1,9 +1,19 @@ require'nvim-treesitter.configs'.setup { ensure_installed = O.treesitter.ensure_installed, -- one of "all", "maintained" (parsers with maintainers), or a list of languages ignore_install = O.treesitter.ignore_install, + matchup = { + enable = true, -- mandatory, false will disable the whole extension + -- disable = { "c", "ruby" }, -- optional, list of language that will be disabled + }, highlight = { enable = O.treesitter.highlight.enabled -- false will disable the whole extension }, + context_commentstring = { + enable = true, + config = { + css = '// %s' + } + }, -- indent = {enable = true, disable = {"python", "html", "javascript"}}, -- TODO seems to be broken indent = {enable = {"javascriptreact"}}, diff --git a/.config/nvim/lua/_true-zen/init.lua b/.config/nvim/lua/_true-zen/init.lua index 0705fbb..1cad678 100644 --- a/.config/nvim/lua/_true-zen/init.lua +++ b/.config/nvim/lua/_true-zen/init.lua @@ -1,9 +1,11 @@ -local true_zen = require("true-zen") - -- setup for TrueZen.nvim -true_zen.setup({ +require("true-zen").setup({ true_false_commands = false, cursor_by_mode = false, + before_minimalist_mode_shown = false, + before_minimalist_mode_hidden = false, + after_minimalist_mode_shown = false, + after_minimalist_mode_hidden = false, bottom = { hidden_laststatus = 0, hidden_ruler = false, @@ -33,35 +35,19 @@ true_zen.setup({ }, ataraxis = { just_do_it_for_me = false, - left_padding = 40, - right_padding = 40, - top_padding = 0, - bottom_padding = 0, - custome_bg = "", - disable_bg_configuration = false, - disable_fillchars_configuration = false, - force_when_plus_one_window = false, - force_hide_statusline = false - }, - focus = { - margin_of_error = 5, - focus_method = "experimental" - }, - events = { - before_minimalist_mode_shown = false, - before_minimalist_mode_hidden = false, - after_minimalist_mode_shown = false, - after_minimalist_mode_hidden = false + left_padding = 5, + right_padding = 5, + top_padding = 1, + bottom_padding = 1 }, integrations = { integration_galaxyline = true, integration_vim_airline = false, integration_vim_powerline = false, - integration_tmux = false, + integration_tmux = true, integration_express_line = false, integration_gitgutter = false, integration_vim_signify = false, - integration_limelight = false, - integration_tzfocus_tzataraxis = false + integration_limelight = false } }) diff --git a/.config/nvim/lua/_utils/init.lua b/.config/nvim/lua/_utils/init.lua index 4d5c890..9e15c02 100644 --- a/.config/nvim/lua/_utils/init.lua +++ b/.config/nvim/lua/_utils/init.lua @@ -1,6 +1,6 @@ -local nv_utils = {} +local lv_utils = {} -function nv_utils.define_augroups(definitions) -- {{{1 +function lv_utils.define_augroups(definitions) -- {{{1 -- Create autocommand groups based on the passed definitions -- -- The key will be the name of the group, and each definition @@ -24,159 +24,159 @@ end -- lsp -function nv_utils.add_to_workspace_folder() +function lv_utils.add_to_workspace_folder() vim.lsp.buf.add_workspace_folder() end -function nv_utils.clear_references() +function lv_utils.clear_references() vim.lsp.buf.clear_references() end -function nv_utils.code_action() +function lv_utils.code_action() vim.lsp.buf.code_action() end -function nv_utils.declaration() +function lv_utils.declaration() vim.lsp.buf.declaration() vim.lsp.buf.clear_references() end -function nv_utils.definition() +function lv_utils.definition() vim.lsp.buf.definition() vim.lsp.buf.clear_references() end -function nv_utils.document_highlight() +function lv_utils.document_highlight() vim.lsp.buf.document_highlight() end -function nv_utils.document_symbol() +function lv_utils.document_symbol() vim.lsp.buf.document_symbol() end -function nv_utils.formatting() +function lv_utils.formatting() vim.lsp.buf.formatting() end -function nv_utils.formatting_sync() +function lv_utils.formatting_sync() vim.lsp.buf.formatting_sync() end -function nv_utils.hover() +function lv_utils.hover() vim.lsp.buf.hover() end -function nv_utils.implementation() +function lv_utils.implementation() vim.lsp.buf.implementation() end -function nv_utils.incoming_calls() +function lv_utils.incoming_calls() vim.lsp.buf.incoming_calls() end -function nv_utils.list_workspace_folders() +function lv_utils.list_workspace_folders() vim.lsp.buf.list_workspace_folders() end -function nv_utils.outgoing_calls() +function lv_utils.outgoing_calls() vim.lsp.buf.outgoing_calls() end -function nv_utils.range_code_action() +function lv_utils.range_code_action() vim.lsp.buf.range_code_action() end -function nv_utils.range_formatting() +function lv_utils.range_formatting() vim.lsp.buf.range_formatting() end -function nv_utils.references() +function lv_utils.references() vim.lsp.buf.references() vim.lsp.buf.clear_references() end -function nv_utils.remove_workspace_folder() +function lv_utils.remove_workspace_folder() vim.lsp.buf.remove_workspace_folder() end -function nv_utils.rename() +function lv_utils.rename() vim.lsp.buf.rename() end -function nv_utils.signature_help() +function lv_utils.signature_help() vim.lsp.buf.signature_help() end -function nv_utils.type_definition() +function lv_utils.type_definition() vim.lsp.buf.type_definition() end -function nv_utils.workspace_symbol() +function lv_utils.workspace_symbol() vim.lsp.buf.workspace_symbol() end -- diagnostic -function nv_utils.get_all() +function lv_utils.get_all() vim.lsp.diagnostic.get_all() end -function nv_utils.get_next() +function lv_utils.get_next() vim.lsp.diagnostic.get_next() end -function nv_utils.get_prev() +function lv_utils.get_prev() vim.lsp.diagnostic.get_prev() end -function nv_utils.goto_next() +function lv_utils.goto_next() vim.lsp.diagnostic.goto_next() end -function nv_utils.goto_prev() +function lv_utils.goto_prev() vim.lsp.diagnostic.goto_prev() end -function nv_utils.show_line_diagnostics() +function lv_utils.show_line_diagnostics() vim.lsp.diagnostic.show_line_diagnostics() end -- git signs -function nv_utils.next_hunk() +function lv_utils.next_hunk() require('gitsigns').next_hunk() end -function nv_utils.prev_hunk() +function lv_utils.prev_hunk() require('gitsigns').prev_hunk() end -function nv_utils.stage_hunk() +function lv_utils.stage_hunk() require('gitsigns').stage_hunk() end -function nv_utils.undo_stage_hunk() +function lv_utils.undo_stage_hunk() require('gitsigns').undo_stage_hunk() end -function nv_utils.reset_hunk() +function lv_utils.reset_hunk() require('gitsigns').reset_hunk() end -function nv_utils.reset_buffer() +function lv_utils.reset_buffer() require('gitsigns').reset_buffer() end -function nv_utils.preview_hunk() +function lv_utils.preview_hunk() require('gitsigns').preview_hunk() end -function nv_utils.blame_line() +function lv_utils.blame_line() require('gitsigns').blame_line() end -- misc -function nv_utils.file_exists(name) +function lv_utils.file_exists(name) local f = io.open(name, "r") if f ~= nil then io.close(f) @@ -186,4 +186,4 @@ function nv_utils.file_exists(name) end end -return nv_utils +return lv_utils diff --git a/.config/nvim/lua/_which-key/init.lua b/.config/nvim/lua/_which-key/init.lua index 1770356..8c300c3 100644 --- a/.config/nvim/lua/_which-key/init.lua +++ b/.config/nvim/lua/_which-key/init.lua @@ -5,9 +5,9 @@ require("which-key").setup { -- the presets plugin, adds help for a bunch of default keybindings in Neovim -- No actual key bindings are created presets = { - operators = true, -- adds help for operators like d, y, ... - motions = true, -- adds help for motions - text_objects = true, -- help for text objects triggered after entering an operator + operators = false, -- adds help for operators like d, y, ... + motions = false, -- adds help for motions + text_objects = false, -- help for text objects triggered after entering an operator windows = true, -- default bindings on nav = true, -- misc bindings to work with windows z = true, -- bindings for folds, spelling and others prefixed with z @@ -48,7 +48,7 @@ vim.api.nvim_set_keymap('n', '', '', {noremap = true, silent = true} vim.g.mapleader = ' ' -- no hl -vim.api.nvim_set_keymap('n', 'n', ':set hlsearch!', {noremap = true, silent = true}) +vim.api.nvim_set_keymap('n', 'h', ':set hlsearch!', {noremap = true, silent = true}) -- explorer vim.api.nvim_set_keymap('n', 'e', ':NvimTreeToggle', {noremap = true, silent = true}) @@ -63,9 +63,6 @@ vim.api.nvim_set_keymap('n', ';', ':Dashboard', {noremap = true, sil vim.api.nvim_set_keymap("n", "k", ":CommentToggle", {noremap = true, silent = true}) vim.api.nvim_set_keymap("v", "k", ":CommentToggle", {noremap = true, silent = true}) --- Zen mode -vim.api.nvim_set_keymap("n", "z", ':TZAtaraxis', {noremap = true, silent = true}) - -- close buffer vim.api.nvim_set_keymap("n", "c", ":BufferClose", {noremap = true, silent = true}) @@ -73,18 +70,30 @@ vim.api.nvim_set_keymap("n", "c", ":BufferClose", {noremap = true, s vim.api.nvim_set_keymap("n", "v", ":vsplit", {noremap = true, silent = true}) vim.api.nvim_set_keymap("n", "h", ":split", {noremap = true, silent = true}) +-- open projects +vim.api.nvim_set_keymap('n', 'p', ":lua require'telescope'.extensions.project.project{}", + {noremap = true, silent = true}) -- TODO create entire treesitter section local mappings = { ["k"] = "Comment", ["c"] = "Close Buffer", - ["z"] = "Zen Mode", ["e"] = "Explorer", ["f"] = "Find File", + ["p"] = "Projects", ["n"] = "No Highlight", ["v"] = "Vertical Split", ["h"] = "Horizontal Split", d = { + name = "+Diagnostics", + t = {"TroubleToggle", "trouble"}, + w = {"TroubleToggle lsp_workspace_diagnostics", "workspace"}, + d = {"TroubleToggle lsp_document_diagnostics", "document"}, + q = {"TroubleToggle quickfix", "quickfix"}, + l = {"TroubleToggle loclist", "loclist"}, + r = {"TroubleToggle lsp_references", "references"}, + }, + D = { name = "+Debug", b = {"DebugToggleBreakpoint", "Toggle Breakpoint"}, c = {"DebugContinue", "Continue"}, @@ -125,10 +134,9 @@ local mappings = { s = {"Telescope lsp_document_symbols", "Document Symbols"}, S = {"Telescope lsp_workspace_symbols", "Workspace Symbols"} }, - s = { name = "+Search", - b = {"Telescope git_branches", "File"}, + b = {"Telescope git_branches", "Checkout branch"}, c = {"Telescope colorscheme", "Colorscheme"}, d = {"Telescope lsp_document_diagnostics", "Document Diagnostics"}, D = {"Telescope lsp_workspace_diagnostics", "Workspace Diagnostics"}, @@ -139,7 +147,15 @@ local mappings = { R = {"Telescope registers", "Registers"}, t = {"Telescope live_grep", "Text"} }, - S = {name = "+Session", s = {"SessionSave", "Save Session"}, l = {"SessionLoad", "Load Session"}} + S = {name = "+Session", s = {"SessionSave", "Save Session"}, l = {"SessionLoad", "Load Session"}}, + + -- extras + z = { + name = "+Zen", + s = {"TZBottom", "toggle status line"}, + t = {"TZTop", "toggle tab bar"}, + z = {"TZAtaraxis", "toggle zen"}, + } } local wk = require("which-key") diff --git a/.config/nvim/lua/globals.lua b/.config/nvim/lua/globals.lua index a0f291c..9115c2e 100644 --- a/.config/nvim/lua/globals.lua +++ b/.config/nvim/lua/globals.lua @@ -1,3 +1,6 @@ +CONFIG_PATH = vim.fn.stdpath('config') +DATA_PATH = vim.fn.stdpath('data') +CACHE_PATH = vim.fn.stdpath('cache') O = { auto_close_tree = 0, auto_complete = true, @@ -7,6 +10,9 @@ O = { number = true, relative_number = true, shell = 'bash', + timeoutlen = 100, + nvim_tree_disable_netrw = 0, + extras = false, -- @usage pass a table with your desired languages treesitter = { @@ -18,18 +24,18 @@ O = { }, database = {save_location = '~/.config/nvim_db', auto_execute = 1}, python = { - linter = 'flake8', - formatter = 'black', + linter = '', + formatter = '', autoformat = false, isort = false, - diagnostics = {virtual_text = true, signs = true, underline = true} + diagnostics = {virtual_text = {spacing = 0, prefix = ""}, signs = true, underline = true}, + analysis = {type_checking = "basic", auto_search_paths = true, use_library_code_types = true} }, - dart = {sdk_path = '/usr/lib/dart/bin/snapshots/analysis_server.dart.snapshot'}, lua = { -- @usage can be 'lua-format' formatter = '', autoformat = false, - diagnostics = {virtual_text = true, signs = true, underline = true} + diagnostics = {virtual_text = {spacing = 0, prefix = ""}, signs = true, underline = true} }, sh = { -- @usage can be 'shellcheck' @@ -37,7 +43,7 @@ O = { -- @usage can be 'shfmt' formatter = '', autoformat = false, - diagnostics = {virtual_text = true, signs = true, underline = true} + diagnostics = {virtual_text = {spacing = 0, prefix = ""}, signs = true, underline = true} }, tsserver = { -- @usage can be 'eslint' @@ -45,7 +51,7 @@ O = { -- @usage can be 'prettier' formatter = '', autoformat = false, - diagnostics = {virtual_text = true, signs = true, underline = true} + diagnostics = {virtual_text = {spacing = 0, prefix = ""}, signs = true, underline = true} }, json = { -- @usage can be 'prettier' @@ -53,9 +59,6 @@ O = { autoformat = false, diagnostics = {virtual_text = true, signs = true, underline = true} }, - tailwindls = {filetypes = {'html', 'css', 'scss', 'javascript', 'javascriptreact', 'typescript', 'typescriptreact'}}, - clang = {diagnostics = {virtual_text = true, signs = true, underline = true}}, + go = {}, + clang = {diagnostics = {virtual_text = {spacing = 0, prefix = ""}, signs = true, underline = true}}, } - -DATA_PATH = vim.fn.stdpath('data') -CACHE_PATH = vim.fn.stdpath('cache') diff --git a/.config/nvim/lua/lsp/efm-general-ls.lua b/.config/nvim/lua/lsp/efm-general-ls.lua index 16f3037..01bc3ee 100644 --- a/.config/nvim/lua/lsp/efm-general-ls.lua +++ b/.config/nvim/lua/lsp/efm-general-ls.lua @@ -92,7 +92,7 @@ require"lspconfig".efm.setup { -- init_options = {initializationOptions}, cmd = {DATA_PATH .. "/lspinstall/efm/efm-langserver"}, init_options = {documentFormatting = true, codeAction = false}, - filetypes = {"lua", "python", "javascriptreact", "javascript", "sh", "html", "css", "json", "yaml", "markdown"}, + filetypes = {"lua", "python", "javascriptreact", "javascript", "typescript","typescriptreact","sh", "html", "css", "json", "yaml", "markdown", "vue"}, settings = { rootMarkers = {".git/"}, languages = { @@ -101,6 +101,8 @@ require"lspconfig".efm.setup { sh = sh_arguments, javascript = tsserver_args, javascriptreact = tsserver_args, + typescript = tsserver_args, + typescriptreact = tsserver_args, html = {prettier}, css = {prettier}, json = {prettier}, diff --git a/.config/nvim/lua/lsp/go-ls.lua b/.config/nvim/lua/lsp/go-ls.lua new file mode 100644 index 0000000..1311247 --- /dev/null +++ b/.config/nvim/lua/lsp/go-ls.lua @@ -0,0 +1,7 @@ +require'lspconfig'.gopls.setup{ + cmd = {DATA_PATH .. "/lspinstall/go/gopls"}, + settings = {gopls = {analyses = {unusedparams = true}, staticcheck = true}}, + root_dir = require'lspconfig'.util.root_pattern(".git","go.mod","."), + init_options = {usePlaceholders = true, completeUnimported = true}, + on_attach = require'lsp'.common_on_attach +} diff --git a/.config/nvim/lua/lsp/init.lua b/.config/nvim/lua/lsp/init.lua index b07858b..ef2e2f9 100644 --- a/.config/nvim/lua/lsp/init.lua +++ b/.config/nvim/lua/lsp/init.lua @@ -1,19 +1,19 @@ -- TODO figure out why this don't work vim.fn.sign_define( "LspDiagnosticsSignError", - {texthl = "LspDiagnosticsSignError", text = "", numhl = "LspDiagnosticsSignError"} + {texthl = "LspDiagnosticsSignError", text = "", numhl = "LspDiagnosticsSignError"} ) vim.fn.sign_define( "LspDiagnosticsSignWarning", - {texthl = "LspDiagnosticsSignWarning", text = "", numhl = "LspDiagnosticsSignWarning"} + {texthl = "LspDiagnosticsSignWarning", text = "", numhl = "LspDiagnosticsSignWarning"} ) vim.fn.sign_define( "LspDiagnosticsSignHint", - {texthl = "LspDiagnosticsSignHint", text = "", numhl = "LspDiagnosticsSignHint"} + {texthl = "LspDiagnosticsSignHint", text = "", numhl = "LspDiagnosticsSignHint"} ) vim.fn.sign_define( "LspDiagnosticsSignInformation", - {texthl = "LspDiagnosticsSignInformation", text = "", numhl = "LspDiagnosticsSignInformation"} + {texthl = "LspDiagnosticsSignInformation", text = "", numhl = "LspDiagnosticsSignInformation"} ) vim.cmd("nnoremap gd lua vim.lsp.buf.definition()") @@ -21,7 +21,7 @@ vim.cmd("nnoremap gD lua vim.lsp.buf.declaration()") vim.cmd("nnoremap gr lua vim.lsp.buf.references()") vim.cmd("nnoremap gi lua vim.lsp.buf.implementation()") vim.cmd("nnoremap ca :Lspsaga code_action") -vim.cmd("nnoremap K :Lspsaga hoer_doc") +vim.cmd("nnoremap K :Lspsaga hover_doc") -- vim.cmd('nnoremap lua vim.lsp.buf.signature_help()') vim.cmd("nnoremap :Lspsaga diagnostic_jump_prev") vim.cmd("nnoremap :Lspsaga diagnostic_jump_next") @@ -31,6 +31,19 @@ vim.cmd("nnoremap lua require('lspsaga.action').smart_scroll vim.cmd("nnoremap lua require('lspsaga.action').smart_scroll_with_saga(-1)") vim.cmd('command! -nargs=0 LspVirtualTextToggle lua require("lsp/virtual_text").toggle()') +-- Set Default Prefix. +-- Note: You can set a prefix per lsp server in the lv-globals.lua file +vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( + vim.lsp.diagnostic.on_publish_diagnostics, { + virtual_text = { + prefix = "", + spacing = 0, + }, + signs = true, + underline = true, + } +) + -- symbols for autocomplete vim.lsp.protocol.CompletionItemKind = { "  (Text) ", @@ -47,7 +60,7 @@ vim.lsp.protocol.CompletionItemKind = { "  (Value)", " 練 (Enum)", "  (Keyword)", - " ﬌ (Snippet)", + "  (Snippet)", "  (Color)", "  (File)", "  (Reference)", @@ -87,8 +100,10 @@ local function documentHighlight(client, bufnr) end local lsp_config = {} -function lsp_config.common_on_attach(client, bufnr) - documentHighlight(client, bufnr) +if O.document_highlight then + function lsp_config.common_on_attach(client, bufnr) + documentHighlight(client, bufnr) + end end function lsp_config.tsserver_on_attach(client, bufnr) diff --git a/.config/nvim/lua/lsp/python-ls.lua b/.config/nvim/lua/lsp/python-ls.lua index 8cc8b22..d4dfac5 100644 --- a/.config/nvim/lua/lsp/python-ls.lua +++ b/.config/nvim/lua/lsp/python-ls.lua @@ -1,3 +1,4 @@ + -- npm i -g pyright require'lspconfig'.pyright.setup { cmd = {DATA_PATH .. "/lspinstall/python/node_modules/.bin/pyright-langserver", "--stdio"}, @@ -8,7 +9,15 @@ require'lspconfig'.pyright.setup { signs = O.python.diagnostics.signs, underline = O.python.diagnostics.underline, update_in_insert = true - }) + }, + settings = { + python = { + analysis = { + typeCheckingMode = O.python.analysis.type_checking, + autoSearchPaths = O.python.analysis.auto_search_paths, + useLibraryCodeForTypes = O.python.analysis.use_library_code_types + } + } } } diff --git a/.config/nvim/lua/mappings.lua b/.config/nvim/lua/mappings.lua index 1402d14..bc7f380 100644 --- a/.config/nvim/lua/mappings.lua +++ b/.config/nvim/lua/mappings.lua @@ -22,21 +22,19 @@ vim.cmd([[ -- TODO fix this -- resize with arrows -vim.cmd([[ - nnoremap :resize -2 - nnoremap :resize +2 - nnoremap :vertical resize -2 - nnoremap :vertical resize +2 -]]) +vim.api.nvim_set_keymap('n', '', ':resize -2', {silent = true}) +vim.api.nvim_set_keymap('n', '', ':resize +2', {silent = true}) +vim.api.nvim_set_keymap('n', '', ':vertical resize -2', {silent = true}) +vim.api.nvim_set_keymap('n', '', ':vertical resize +2', {silent = true}) -- better indenting vim.api.nvim_set_keymap('v', '<', '', '>gv', {noremap = true, silent = true}) -- I hate escape --- vim.api.nvim_set_keymap('i', 'jk', '', {noremap = true, silent = true}) --- vim.api.nvim_set_keymap('i', 'kj', '', {noremap = true, silent = true}) --- vim.api.nvim_set_keymap('i', 'jj', '', {noremap = true, silent = true}) +vim.api.nvim_set_keymap('i', 'jk', '', {noremap = true, silent = true}) +vim.api.nvim_set_keymap('i', 'kj', '', {noremap = true, silent = true}) +vim.api.nvim_set_keymap('i', 'jj', '', {noremap = true, silent = true}) -- Tab switch buffer vim.api.nvim_set_keymap('n', '', ':bnext', {noremap = true, silent = true}) @@ -49,3 +47,12 @@ vim.api.nvim_set_keymap('x', 'J', ':move \'>+1gv-gv', {noremap = true, silen -- Better nav for omnicomplete vim.cmd('inoremap (\"\\\")') vim.cmd('inoremap (\"\\\")') + +-- fix to get netrw's gx command to work correctly +vim.api.nvim_set_keymap('n', 'gx', ":call netrw#BrowseX(expand((exists('g:netrw_gx')? g:netrw_gx : '')),netrw#CheckIfRemote())", {noremap = true, silent = true}) + +vim.cmd('vnoremap p "0p') +vim.cmd('vnoremap P "0P') + +-- Toggle the QuickFix window +vim.api.nvim_set_keymap('', '', ':call QuickFixToggle()', {noremap = true, silent = true}) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua index e580b55..b2d6acd 100644 --- a/.config/nvim/lua/plugins.lua +++ b/.config/nvim/lua/plugins.lua @@ -22,9 +22,7 @@ local function require_plugin(plugin) end end -- print(ok, err, code) - if ok then - vim.cmd("packadd " .. plugin) - end + if ok then vim.cmd("packadd " .. plugin) end return ok, err, code end @@ -39,12 +37,14 @@ return require("packer").startup( use {"neovim/nvim-lspconfig", opt = true} use {"glepnir/lspsaga.nvim", opt = true} use {"kabouzeid/nvim-lspinstall", opt = true} + use {"folke/trouble.nvim", opt = true} -- Telescope use {"nvim-lua/popup.nvim", opt = true} use {"nvim-lua/plenary.nvim", opt = true} use {"nvim-telescope/telescope.nvim", opt = true} - use {"nvim-telescope/telescope-media-files.nvim", opt = true} + use {"nvim-telescope/telescope-fzy-native.nvim", opt = true} + use {"nvim-telescope/telescope-project.nvim", opt = true} -- Autocomplete use {"hrsh7th/nvim-compe", opt = true} @@ -54,18 +54,26 @@ return require("packer").startup( -- Treesitter use {"nvim-treesitter/nvim-treesitter", run = ":TSUpdate"} use {"windwp/nvim-ts-autotag", opt = true} + use {'andymass/vim-matchup', opt = true} -- Explorer - use "kyazdani42/nvim-tree.lua" + use {"kyazdani42/nvim-tree.lua", opt = true} + use {"ahmedkhalf/lsp-rooter.nvim", opt = true} -- with this nvim-tree will follow you + -- TODO remove when open on dir is supported by nvimtree use "kevinhwang91/rnvimr" + + -- git + use {"lewis6991/gitsigns.nvim", opt = true} + use {'f-person/git-blame.nvim', opt = true} - use {"liuchengxu/vim-which-key", opt = true} use {"ChristianChiarulli/dashboard-nvim", opt = true} use {"windwp/nvim-autopairs", opt = true} - use {"terrortylor/nvim-comment", opt = true} use {"kevinhwang91/nvim-bqf", opt = true} + -- Comments + use {"terrortylor/nvim-comment", opt = true} + -- Icons use {"kyazdani42/nvim-web-devicons", opt = true} @@ -79,36 +87,34 @@ return require("packer").startup( -- Colorschemes use 'aktersnurra/githubsy.vim' - use {"christianchiarulli/nvcode-color-schemes.vim", opt = true} - use 'norcalli/nvim-colorizer.lua' + use {"aktersnurra/nvcode-color-schemes.vim", opt = true} use 'RRethy/nvim-base16' - -- Git - use {"lewis6991/gitsigns.nvim", opt = true} - use 'TimUntersberger/neogit' - use 'f-person/git-blame.nvim' - use 'tpope/vim-fugitive' - use 'tpope/vim-rhubarb' - -- General Plugins [my own additions] - use 'airblade/vim-rooter' use 'unblevable/quick-scope' - use 'kdav5758/TrueZen.nvim' - -- use 'vimwiki/vimwiki' + use {"Pocco81/TrueZen.nvim", opt = true} + + -- Extras + use {'nacro90/numb.nvim', opt = true} + use {'phaazon/hop.nvim', opt = true} + use {'norcalli/nvim-colorizer.lua', opt = true} require_plugin("nvim-lspconfig") require_plugin("lspsaga.nvim") require_plugin("nvim-lspinstall") + require_plugin('trouble.nvim') + require_plugin("friendly-snippets") require_plugin("popup.nvim") require_plugin("plenary.nvim") require_plugin("telescope.nvim") - require_plugin("nvim-dap") + require_plugin('telescope-project.nvim') require_plugin("nvim-compe") require_plugin("vim-vsnip") require_plugin("nvim-treesitter") - require_plugin("nvim-ts-autotag") + require_plugin('vim-matchup') require_plugin("nvim-tree.lua") require_plugin("gitsigns.nvim") + require_plugin("git-blame.nvim") require_plugin("vim-which-key") require_plugin("dashboard-nvim") require_plugin("nvim-autopairs") @@ -118,10 +124,15 @@ return require("packer").startup( require_plugin("nvim-web-devicons") require_plugin("galaxyline.nvim") require_plugin("barbar.nvim") + require_plugin('lsp-rooter.nvim') require_plugin("which-key.nvim") require_plugin("vim-rooter") + require_plugin('numb.nvim') + require_plugin('hop.nvim') + require_plugin('nvim-colorizer.lua') + require_plugin("quick-scope") - require_plugin("TrueZen") + require_plugin("TrueZen.nvim") end ) diff --git a/.config/nvim/lua/settings.lua b/.config/nvim/lua/settings.lua index 27b1682..0639643 100644 --- a/.config/nvim/lua/settings.lua +++ b/.config/nvim/lua/settings.lua @@ -1,8 +1,6 @@ vim.cmd('set iskeyword+=-') -- treat dash separated words as a word text object" vim.cmd('set shortmess+=c') -- Don't pass messages to |ins-completion-menu|. vim.cmd('set inccommand=split') -- Make substitution work in realtime -vim.cmd('setlocal indentkeys-=:') -vim.cmd('setlocal indentkeys-=:') vim.o.hidden = O.hidden_files -- Required to keep multiple buffers open multiple buffers vim.o.title = true TERMINAL = vim.fn.expand('$TERMINAL') @@ -15,15 +13,15 @@ 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.mouse = "r" -- 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.t_Co = "256" -- Support 256 colors vim.o.conceallevel = 0 -- So that I can see `` in markdown files vim.cmd('set ts=4') -- Insert 2 spaces for a tab vim.cmd('set sw=4') -- Change the number of space characters inserted for indentation -vim.bo.expandtab = true -- Converts tabs to spaces +vim.cmd('set expandtab') -- Converts tabs to spaces vim.bo.smartindent = true -- Makes indenting smart vim.wo.number = O.number -- set numbered lines vim.wo.relativenumber = O.relative_number -- set relative number @@ -34,6 +32,9 @@ vim.o.backup = false -- This is recommended by coc vim.o.writebackup = false -- This is recommended by coc 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 = 500 -- By default timeoutlen is 1000 ms +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.g.loaded_netrwPlugin = 1 -- needed for netrw gx command to open remote links in browser +vim.cmd('filetype plugin on') -- filetype detection vim.o.guifont = "SpaceMono Nerd Font:h17" -- cgit v1.2.3-70-g09d2