From 07edc286193ccfedaee077fa946d746676833cbe Mon Sep 17 00:00:00 2001 From: Georgios Atheridis Date: Sun, 5 Jun 2022 17:38:25 +0300 Subject: [PATCH] added gitsigns --- nvim/init.lua | 1 + nvim/lua/nvim/autopairs.lua | 14 ++++-- nvim/lua/nvim/comment.lua | 22 +++++++++ nvim/lua/nvim/gitsigns.lua | 46 +++++++++++++++++++ nvim/lua/nvim/lsp/lsp-installer.lua | 5 -- .../lsp/settings/jedi_language_server.lua | 1 - nvim/lua/nvim/plugins.lua | 11 ++--- nvim/lua/nvim/treesitter.lua | 19 +++++++- 8 files changed, 102 insertions(+), 17 deletions(-) create mode 100644 nvim/lua/nvim/comment.lua create mode 100644 nvim/lua/nvim/gitsigns.lua delete mode 100644 nvim/lua/nvim/lsp/settings/jedi_language_server.lua diff --git a/nvim/init.lua b/nvim/init.lua index 9f4b11b..7d38cb8 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -6,3 +6,4 @@ require("nvim.cmp") require("nvim.lsp") require("nvim.autopairs") require("nvim.treesitter") +require("nvim.gitsigns") diff --git a/nvim/lua/nvim/autopairs.lua b/nvim/lua/nvim/autopairs.lua index 75a4998..1b3a2fb 100644 --- a/nvim/lua/nvim/autopairs.lua +++ b/nvim/lua/nvim/autopairs.lua @@ -13,11 +13,18 @@ npairs.setup ({ javascript = {"template_string"}, java = false, -- don't check treesitter on java }, - map_cr = false, + map_cr = true, }) +-- npairs.add_rules { +-- Rule('{%', '%}', "html") +-- :use_regex(false) +-- } + --Add spaces between parentheses npairs.add_rules { + Rule('{%', '%'), + Rule('{% ', ' '), Rule(' ', ' ') :with_pair(function (opts) local pair = opts.line:sub(opts.col - 1, opts.col) @@ -40,8 +47,8 @@ npairs.add_rules { :with_move(function(opts) return opts.prev_char:match('.%]') ~= nil end) - :use_key(']') -}-- + :use_key(']'), +} local cmp_autopairs = require('nvim-autopairs.completion.cmp') @@ -56,3 +63,4 @@ cmp.event:on( 'confirm_done', cmp_autopairs.on_confirm_done({ map_char = { tex -- add a lisp filetype (wrap my-function), FYI: Hardcoded = { "clojure", "clojurescript", "fennel", "janet" } cmp_autopairs.lisp[#cmp_autopairs.lisp+1] = "racket" + diff --git a/nvim/lua/nvim/comment.lua b/nvim/lua/nvim/comment.lua new file mode 100644 index 0000000..2283528 --- /dev/null +++ b/nvim/lua/nvim/comment.lua @@ -0,0 +1,22 @@ +local status_ok, comment = pcall(require, "Comment") +if not status_ok then + return +end + +comment.setup { + pre_hook = function(ctx) + local U = require("Comment.utils") + + local location = nil + if ctx.ctype == U.ctype.block then + location = require("ts_context_commentstring.utils").get_cursor_location() + elseif ctx.cmotion == U.cmotion.V or ctx.cmotion == U.cmotion.V then + location = require("ts_context_commentstring.utils").get_visual_start_location() + end + + return require("ts_context_commentstring.internal").calculate_commentstring { + key = ctx.ctype == U.ctype.line and "__default" or "__multiline", + location = location, + } + end, +} diff --git a/nvim/lua/nvim/gitsigns.lua b/nvim/lua/nvim/gitsigns.lua new file mode 100644 index 0000000..064fe38 --- /dev/null +++ b/nvim/lua/nvim/gitsigns.lua @@ -0,0 +1,46 @@ +local status_ok, gitsigns = pcall(require, "gitsigns") +if not status_ok then + return +end + +gitsigns.setup { + signs = { + add = {hl = 'GitSignsAdd' , text = '▎', numhl='GitSignsAddNr' , linehl='GitSignsAddLn'}, + change = {hl = 'GitSignsChange', text = '▎', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'}, + delete = {hl = 'GitSignsDelete', text = '_', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'}, + topdelete = {hl = 'GitSignsDelete', text = '‾', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'}, + changedelete = {hl = 'GitSignsChange', text = '~', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'}, + }, + signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` + numhl = false, -- Toggle with `:Gitsigns toggle_numhl` + linehl = false, -- Toggle with `:Gitsigns toggle_linehl` + word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` + watch_gitdir = { + interval = 1000, + follow_files = true + }, + attach_to_untracked = true, + current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` + current_line_blame_opts = { + virt_text = true, + virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align' + delay = 1000, + ignore_whitespace = false, + }, + current_line_blame_formatter = ', - ', + sign_priority = 6, + update_debounce = 100, + status_formatter = nil, -- Use default + max_file_length = 40000, + preview_config = { + -- Options passed to nvim_open_win + border = 'single', + style = 'minimal', + relative = 'cursor', + row = 0, + col = 1 + }, + yadm = { + enable = false + }, +} diff --git a/nvim/lua/nvim/lsp/lsp-installer.lua b/nvim/lua/nvim/lsp/lsp-installer.lua index 2ceb9ac..cef26ac 100644 --- a/nvim/lua/nvim/lsp/lsp-installer.lua +++ b/nvim/lua/nvim/lsp/lsp-installer.lua @@ -27,11 +27,6 @@ lsp_installer.on_server_ready(function(server) opts = vim.tbl_deep_extend("force", pyright_opts, opts) end - if server.name == "jedi_language_server" then - local jedi_opts = require("nvim.lsp.settings.jedi_language_server") - opts = vim.tbl_deep_extend("force", jedi_opts, opts) - end - -- This setup() function is exactly the same as lspconfig's setup function. -- Refer to https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md server:setup(opts) diff --git a/nvim/lua/nvim/lsp/settings/jedi_language_server.lua b/nvim/lua/nvim/lsp/settings/jedi_language_server.lua deleted file mode 100644 index a564707..0000000 --- a/nvim/lua/nvim/lsp/settings/jedi_language_server.lua +++ /dev/null @@ -1 +0,0 @@ -return {} diff --git a/nvim/lua/nvim/plugins.lua b/nvim/lua/nvim/plugins.lua index 6c3e8b6..c19abf1 100644 --- a/nvim/lua/nvim/plugins.lua +++ b/nvim/lua/nvim/plugins.lua @@ -94,6 +94,7 @@ return packer.startup(function(use) require("Comment").setup() end } + use 'JoosepAlviste/nvim-ts-context-commentstring' -- Treesitter use { @@ -105,15 +106,13 @@ return packer.startup(function(use) { "nvim-treesitter/nvim-treesitter" } } } - use { "nvim-treesitter/playground" , - requires = { - { "nvim-treesitter/nvim-treesitter" } - } - } - -- Autopairs use "windwp/nvim-autopairs" + + -- Git + use "lewis6991/gitsigns.nvim" + -- PLUGINS END -- diff --git a/nvim/lua/nvim/treesitter.lua b/nvim/lua/nvim/treesitter.lua index 1c28b60..edf8283 100644 --- a/nvim/lua/nvim/treesitter.lua +++ b/nvim/lua/nvim/treesitter.lua @@ -1,13 +1,28 @@ local configs = require("nvim-treesitter.configs") configs.setup { ensure_installed = "all", - sync_install = false, + sync_install = false, ignore_install = { "" }, -- List of parsers to ignore installing highlight = { enable = true, -- false will disable the whole extension disable = { "" }, -- list of language that will be disabled additional_vim_regex_highlighting = true, - }, indent = { enable = true, disable = { "yaml" } }, + rainbow = { + enable = true, + extended_mode = true, + max_file_lines = nil, + }, + context_commentstring = { + enable = true, + enable_autocmd = false, + }, } +vim.cmd("hi rainbowcol1 guifg=#FFFFFF") +vim.cmd("hi rainbowcol2 guifg=#00FF00") +vim.cmd("hi rainbowcol3 guifg=#2244FF") +vim.cmd("hi rainbowcol4 guifg=#FF0000") +vim.cmd("hi rainbowcol5 guifg=#FF00FF") +vim.cmd("hi rainbowcol6 guifg=#00FFFF") +vim.cmd("hi rainbowcol7 guifg=#FFFF00") -- 2.30.2