diff options
Diffstat (limited to '.config/nvim/lua')
25 files changed, 320 insertions, 257 deletions
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("<c-y>") - return npairs.esc("") - else - vim.defer_fn(function() - vim.fn["compe#confirm"]("<cr>") - end, 20) - return npairs.esc("<c-n>") - 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("<cr>")) else - return npairs.check_break_line_char() + return npairs.esc("<cr>") 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("<c-n>") - end - else - return npairs.check_break_line_char() - end -end -MUtils.tab = function() - if vim.fn.pumvisible() ~= 0 then - return npairs.esc("<C-n>") - 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("<Tab>") - end - end -end +remap('i' , '<CR>','v:lua.MUtils.completion_confirm()', {expr = true , noremap = true}) -MUtils.s_tab = function() - if vim.fn.pumvisible() ~= 0 then - return npairs.esc("<C-p>") - 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("<C-h>") - 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', '<CR>', 'v:lua.MUtils.completion_confirm()', {expr = true, noremap = true}) --- imap("<CR>", "v:lua.MUtils.completion_confirm()", {expr = true, noremap = true}) -imap("<Tab>", "v:lua.MUtils.tab()", {expr = true, noremap = true}) -imap("<S-Tab>", "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 = '<C-y>,' -vim.g.user_emmet_expandword_key = '<C-y>;' -vim.g.user_emmet_update_tag = '<C-y>u' -vim.g.user_emmet_balancetaginward_key = '<C-y>d' -vim.g.user_emmet_balancetagoutward_key = '<C-y>D' -vim.g.user_emmet_next_key = '<C-y>n' -vim.g.user_emmet_prev_key = '<C-y>N' -vim.g.user_emmet_imagesize_key = '<C-y>i' -vim.g.user_emmet_togglecomment_key = '<C-y>/' -vim.g.user_emmet_splitjointag_key = '<C-y>j' -vim.g.user_emmet_removetag_key = '<C-y>k' -vim.g.user_emmet_anchorizeurl_key = '<C-y>a' -vim.g.user_emmet_anchorizesummary_key = '<C-y>A' -vim.g.user_emmet_mergelines_key = '<C-y>m' -vim.g.user_emmet_codepretty_key = '<C-y>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<cr>", {silent = true}) +vim.api.nvim_set_keymap('n', 'S', ":HopWord<cr>", {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 = { + ["<C-c>"] = actions.close, ["<C-j>"] = actions.move_selection_next, ["<C-k>"] = actions.move_selection_previous, + ["<c-t>"] = trouble.open_with_trouble, + ["<C-q>"] = actions.smart_send_to_qflist + actions.open_qflist, -- To disable a keymap, put [map] = false -- So, to not map "<C-n>", just put -- ["<c-x>"] = false, - ["<esc>"] = actions.close, + -- ["<esc>"] = actions.close, -- Otherwise, just set the mapping to the function that you want it to be. -- ["<C-i>"] = actions.select_horizontal, @@ -54,23 +58,12 @@ require('telescope').setup { }, n = { ["<C-j>"] = actions.move_selection_next, - ["<C-k>"] = actions.move_selection_previous + ["<C-k>"] = actions.move_selection_previous, + ["<c-t>"] = trouble.open_with_trouble, + ["<C-q>"] = actions.smart_send_to_qflist + actions.open_qflist -- ["<C-i>"] = 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', '<leader>ff', '<cmd>lua require("telescope.builtin").find_files()<cr>', { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', '<leader>fg', '<cmd>lua require("telescope.builtin").live_grep()<cr>', { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', '<leader>fb', '<cmd>lua require("telescope.builtin").buffers()<cr>', { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', '<leader>fh', '<cmd>lua require("telescope.builtin").help_tags()<cr>', { 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 <c-w> 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', '<Space>', '<NOP>', {noremap = true, silent = true} vim.g.mapleader = ' ' -- no hl -vim.api.nvim_set_keymap('n', '<Leader>n', ':set hlsearch!<CR>', {noremap = true, silent = true}) +vim.api.nvim_set_keymap('n', '<Leader>h', ':set hlsearch!<CR>', {noremap = true, silent = true}) -- explorer vim.api.nvim_set_keymap('n', '<Leader>e', ':NvimTreeToggle<CR>', {noremap = true, silent = true}) @@ -63,9 +63,6 @@ vim.api.nvim_set_keymap('n', '<Leader>;', ':Dashboard<CR>', {noremap = true, sil vim.api.nvim_set_keymap("n", "<leader>k", ":CommentToggle<CR>", {noremap = true, silent = true}) vim.api.nvim_set_keymap("v", "<leader>k", ":CommentToggle<CR>", {noremap = true, silent = true}) --- Zen mode -vim.api.nvim_set_keymap("n", "<leader>z", ':TZAtaraxis<CR>', {noremap = true, silent = true}) - -- close buffer vim.api.nvim_set_keymap("n", "<leader>c", ":BufferClose<CR>", {noremap = true, silent = true}) @@ -73,18 +70,30 @@ vim.api.nvim_set_keymap("n", "<leader>c", ":BufferClose<CR>", {noremap = true, s vim.api.nvim_set_keymap("n", "<leader>v", ":vsplit<CR>", {noremap = true, silent = true}) vim.api.nvim_set_keymap("n", "<leader>h", ":split<CR>", {noremap = true, silent = true}) +-- open projects +vim.api.nvim_set_keymap('n', '<leader>p', ":lua require'telescope'.extensions.project.project{}<CR>", + {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 = {"<cmd>TroubleToggle<cr>", "trouble"}, + w = {"<cmd>TroubleToggle lsp_workspace_diagnostics<cr>", "workspace"}, + d = {"<cmd>TroubleToggle lsp_document_diagnostics<cr>", "document"}, + q = {"<cmd>TroubleToggle quickfix<cr>", "quickfix"}, + l = {"<cmd>TroubleToggle loclist<cr>", "loclist"}, + r = {"<cmd>TroubleToggle lsp_references<cr>", "references"}, + }, + D = { name = "+Debug", b = {"<cmd>DebugToggleBreakpoint<cr>", "Toggle Breakpoint"}, c = {"<cmd>DebugContinue<cr>", "Continue"}, @@ -125,10 +134,9 @@ local mappings = { s = {"<cmd>Telescope lsp_document_symbols<cr>", "Document Symbols"}, S = {"<cmd>Telescope lsp_workspace_symbols<cr>", "Workspace Symbols"} }, - s = { name = "+Search", - b = {"<cmd>Telescope git_branches<cr>", "File"}, + b = {"<cmd>Telescope git_branches<cr>", "Checkout branch"}, c = {"<cmd>Telescope colorscheme<cr>", "Colorscheme"}, d = {"<cmd>Telescope lsp_document_diagnostics<cr>", "Document Diagnostics"}, D = {"<cmd>Telescope lsp_workspace_diagnostics<cr>", "Workspace Diagnostics"}, @@ -139,7 +147,15 @@ local mappings = { R = {"<cmd>Telescope registers<cr>", "Registers"}, t = {"<cmd>Telescope live_grep<cr>", "Text"} }, - S = {name = "+Session", s = {"<cmd>SessionSave<cr>", "Save Session"}, l = {"<cmd>SessionLoad<cr>", "Load Session"}} + S = {name = "+Session", s = {"<cmd>SessionSave<cr>", "Save Session"}, l = {"<cmd>SessionLoad<cr>", "Load Session"}}, + + -- extras + z = { + name = "+Zen", + s = {"<cmd>TZBottom<cr>", "toggle status line"}, + t = {"<cmd>TZTop<cr>", "toggle tab bar"}, + z = {"<cmd>TZAtaraxis<cr>", "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 <silent> gd <cmd>lua vim.lsp.buf.definition()<CR>") @@ -21,7 +21,7 @@ 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 hoer_doc<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>") vim.cmd("nnoremap <silent> <C-n> :Lspsaga diagnostic_jump_next<CR>") @@ -31,6 +31,19 @@ vim.cmd("nnoremap <silent> <C-f> <cmd>lua require('lspsaga.action').smart_scroll vim.cmd("nnoremap <silent> <C-b> <cmd>lua require('lspsaga.action').smart_scroll_with_saga(-1)<CR>") 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 <silent> <C-Up> :resize -2<CR> - nnoremap <silent> <C-Down> :resize +2<CR> - nnoremap <silent> <C-Left> :vertical resize -2<CR> - nnoremap <silent> <C-Right> :vertical resize +2<CR> -]]) +vim.api.nvim_set_keymap('n', '<C-Up>', ':resize -2<CR>', {silent = true}) +vim.api.nvim_set_keymap('n', '<C-Down>', ':resize +2<CR>', {silent = true}) +vim.api.nvim_set_keymap('n', '<C-Left>', ':vertical resize -2<CR>', {silent = true}) +vim.api.nvim_set_keymap('n', '<C-Right>', ':vertical resize +2<CR>', {silent = true}) -- better indenting vim.api.nvim_set_keymap('v', '<', '<gv', {noremap = true, silent = true}) vim.api.nvim_set_keymap('v', '>', '>gv', {noremap = true, silent = true}) -- I hate escape --- vim.api.nvim_set_keymap('i', 'jk', '<ESC>', {noremap = true, silent = true}) --- vim.api.nvim_set_keymap('i', 'kj', '<ESC>', {noremap = true, silent = true}) --- vim.api.nvim_set_keymap('i', 'jj', '<ESC>', {noremap = true, silent = true}) +vim.api.nvim_set_keymap('i', 'jk', '<ESC>', {noremap = true, silent = true}) +vim.api.nvim_set_keymap('i', 'kj', '<ESC>', {noremap = true, silent = true}) +vim.api.nvim_set_keymap('i', 'jj', '<ESC>', {noremap = true, silent = true}) -- Tab switch buffer vim.api.nvim_set_keymap('n', '<TAB>', ':bnext<CR>', {noremap = true, silent = true}) @@ -49,3 +47,12 @@ vim.api.nvim_set_keymap('x', 'J', ':move \'>+1<CR>gv-gv', {noremap = true, silen -- Better nav for omnicomplete vim.cmd('inoremap <expr> <c-j> (\"\\<C-n>\")') vim.cmd('inoremap <expr> <c-k> (\"\\<C-p>\")') + +-- 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 : '<cfile>')),netrw#CheckIfRemote())<cr>", {noremap = true, silent = true}) + +vim.cmd('vnoremap p "0p') +vim.cmd('vnoremap P "0P') + +-- Toggle the QuickFix window +vim.api.nvim_set_keymap('', '<C-q>', ':call QuickFixToggle()<CR>', {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" |