aboutsummaryrefslogtreecommitdiff
path: root/config/nvim
diff options
context:
space:
mode:
Diffstat (limited to 'config/nvim')
-rw-r--r--config/nvim/init.lua96
-rw-r--r--config/nvim/lua/mappings.lua19
-rw-r--r--config/nvim/lua/plugins.lua435
3 files changed, 377 insertions, 173 deletions
diff --git a/config/nvim/init.lua b/config/nvim/init.lua
index 7665221..faa3cf4 100644
--- a/config/nvim/init.lua
+++ b/config/nvim/init.lua
@@ -1,8 +1,8 @@
-require('plugins')
+require("plugins")
-- common
-vim.g.mapleader = ' ' -- set leader key to space
-vim.g.maplocalleader = '-' -- set file local leader key to backslash
+vim.g.mapleader = " " -- set leader key to space
+vim.g.maplocalleader = "-" -- set file local leader key to backslash
vim.opt.compatible = false -- not compatible with vi
vim.opt.number = true -- line number
vim.opt.numberwidth = 1 -- line numbers gutter autowidth
@@ -15,10 +15,10 @@ vim.opt.swapfile = false -- disable swap files
vim.opt.scrolloff = 2 -- line padding when scrolling
vim.opt.textwidth = 0 -- when line wrap occurs
vim.opt.wrapmargin = 0 -- disable auto line wrapping
-vim.opt.clipboard = 'unnamedplus' -- use system clipboard
+vim.opt.clipboard = "unnamedplus" -- use system clipboard
vim.g.c_syntax_for_h = 1 -- .h file use C filetype instead of C++
vim.opt.encoding = "utf-8" -- utf-8 encoding
-vim.opt.shellredir = ">" -- don't inclue stderr when reading a command
+vim.opt.shellredir = ">" -- don"t inclue stderr when reading a command
-- intuitif split opening
vim.opt.splitbelow = true
@@ -39,34 +39,74 @@ vim.opt.hlsearch = true -- match highlight
vim.opt.incsearch = true
-- status
-vim.opt.laststatus=2 -- always a statusline (all window)
+vim.opt.laststatus = 2 -- always a statusline (all window)
vim.opt.showcmd = true -- show current partial command in the bottom right
vim.opt.showmode = false -- dont show current mode (i.e --INSERT--)
--- colorscheme
-vim.opt.termguicolors = true
-vim.opt.background = "dark"
-vim.cmd [[ colorscheme gruvbox ]]
-vim.g.gruvbox_italic = 1
-vim.g.gruvbox_bold = 1
-vim.g.gruvbox_termcolors = 256
-vim.g.gruvbox_contrast_dark = 'medium'
-vim.g.gruvbox_contrast_light = 'hard'
-vim.g.gruvbox_invert_selection = 0
-
-- remove ugly treesitter error highlight
-require 'nvim-treesitter.highlight'
-local hlmap = vim.treesitter.highlighter.hl_map
-hlmap.error = nil
+-- require "nvim-treesitter.highlight"
+-- local hlmap = vim.treesitter.highlighter.hl_map
+-- hlmap.error = nil
+
+local augroup = vim.api.nvim_create_augroup("cacharle_init_group", {})
-vim.cmd [[
-augroup packer_user_config
- autocmd!
- autocmd BufWritePost plugins.lua source <afile> | PackerCompile
-augroup end
-]]
+-- run PackerCompile when we modify plugins.lua
+vim.api.nvim_create_autocmd(
+ "BufWritePost",
+ {
+ pattern = "plugins.lua",
+ command = "source <afile> | PackerCompile",
+ group = augroup
+ }
+)
-- remove trailing white space on save
-vim.cmd [[ autocmd BufWritePre * %s/\s\+$//e ]]
+vim.api.nvim_create_autocmd(
+ "BufWritePre",
+ { pattern = "*", command = [[ %s/\s\+$//e ]], group = augroup }
+)
+
+-- set filttype for *.sql.j2 files
+vim.api.nvim_create_autocmd(
+ "BufReadPre",
+ {
+ pattern = "*.sql.j2",
+ callback = function() vim.opt.filetype = "sql" end,
+ group = augroup,
+ }
+)
+
+-- -- Format go files on save
+-- vim.api.nvim_create_autocmd(
+-- "BufWritePre",
+-- { command = [[ !go fmt % ]], pattern = "*.go", group = augroup }
+-- )
+
+vim.api.nvim_create_autocmd(
+ "FileType",
+ {
+ pattern = "haskell",
+ callback = function() vim.opt_local.formatprg = "stylish-haskell" end,
+ group = augroup,
+ }
+)
+
+vim.api.nvim_create_autocmd(
+ "FileType",
+ {
+ pattern = "lisp,html,css,htmldjango",
+ callback = function() vim.opt_local.shiftwidth = 2 end,
+ group = augroup,
+ }
+)
+
+vim.api.nvim_create_autocmd(
+ "FileType",
+ {
+ pattern = "go",
+ callback = function() vim.opt_local.expandtab = false end,
+ group = augroup,
+ }
+)
-require('mappings')
+require("mappings")
diff --git a/config/nvim/lua/mappings.lua b/config/nvim/lua/mappings.lua
index 50c57e2..5373a4e 100644
--- a/config/nvim/lua/mappings.lua
+++ b/config/nvim/lua/mappings.lua
@@ -26,25 +26,6 @@ map('n', ' ?', '?\v', {})
map('c', '<C-j>', '<down>', {})
map('c', '<C-k>', '<up>', {})
--- -- hook
--- -- remove trailing white space on save
--- autocmd vimrc BufWritePre * %s/\s\+$//e
--- -- dirty hack to disable this feature on markdown (autocmd! wouldn't work)
--- autocmd vimrc BufReadPre *.md autocmd! BufWritePre
-
-
--- augroup vimrc_files
--- autocmd!
--- -- school c
--- autocmd Filetype c setlocal noexpandtab
--- autocmd Filetype c setlocal comments=s:/**,m:**,e:*/,s:/*,m:**,e:*/
--- -- std::cout << ... << std::endl; shortcut
--- autocmd Filetype cpp nnoremap <leader>cout istd::cout << << std::endl;<ESC>2F<hi
--- autocmd Filetype vim setlocal foldmethod=marker -- vim fold method to marker
--- autocmd FileType haskell set formatprg=stylish-haskell
--- autocmd FileType lisp,html,css,htmldjango setlocal shiftwidth=2
--- augroup END
-
-- python breakpoints
vim.cmd [[ autocmd FileType python nmap <leader>bd mq:g/^\s*breakpoint()$/d<cr>`q ]]
vim.cmd [[ autocmd FileType python nmap <leader>ba mqobreakpoint()<esc>`q ]]
diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua
index b373b6a..ddfd50f 100644
--- a/config/nvim/lua/plugins.lua
+++ b/config/nvim/lua/plugins.lua
@@ -1,61 +1,149 @@
vim.cmd [[ packadd packer.nvim ]]
-return require('packer').startup(function()
- use 'wbthomason/packer.nvim' -- plugin manager (can manage itself)
- use 'junegunn/vim-easy-align' -- align
- use 'AndrewRadev/sideways.vim' -- Move arguments sideways
- use 'FooSoft/vim-argwrap' -- Put arguments on multiple lines
- use 'tpope/vim-eunuch' -- basic commands on current file (Rename/Remove)
- use 'romainl/vim-cool' -- only highlight search matches when searching
+return require("packer").startup(function()
+ use "wbthomason/packer.nvim" -- plugin manager (can manage itself)
+ use "junegunn/vim-easy-align" -- align
+ use "AndrewRadev/sideways.vim" -- Move arguments sideways
+ use "tpope/vim-eunuch" -- basic commands on current file (Rename/Remove)
+ use "romainl/vim-cool" -- only highlight search matches when searching
+ use "lukas-reineke/indent-blankline.nvim"
+
+ -- Put arguments on multiple lines
+ use {
+ "FooSoft/vim-argwrap",
+ config = function()
+ vim.g.argwrap_tail_comma = 1
+ vim.api.nvim_create_autocmd(
+ "Filetype",
+ {
+ pattern = "go,lua",
+ callback = function() vim.g.argwrap_padded_braces = "{" end,
+ group = augroup,
+ }
+ )
+ end
+ }
+
+ use {
+ "jpalardy/vim-slime",
+ config = function()
+ vim.g.slime_target = "tmux"
+ end
+ }
+
+ use {
+ "cacharle/vim-jinja-languages",
+ requires = {"mitsuhiko/vim-jinja"}
+ }
+
+ -- python formatter
+ use {
+ "psf/black",
+ tag = "stable",
+ ft = "python",
+ config = function()
+ local augroup = vim.api.nvim_create_augroup("cacharle_black_group", {})
+ vim.api.nvim_create_autocmd(
+ "BufWritePre",
+ { command = "Black", pattern = "*.py", group = augroup }
+ )
+ end
+ }
-- nvim lsp configuration
use {
- 'neovim/nvim-lspconfig',
- ft = {'rust', 'python', 'c', 'cpp', 'lua'},
+ "neovim/nvim-lspconfig",
+ ft = {"rust", "python", "c", "cpp", "lua", "go", "haskell", "ocaml"},
config = function()
local on_attach = function(_, bufnr)
local opts = { noremap = true, silent = true }
local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
- map('n', '<leader>[', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
- map('n', '<leader>]', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
- map('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
- map('n', 'gk', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
- map('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
- map('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts)
- map('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
- map('n', '<leader>q', '<cmd>Telescope diagnostics<CR>', opts)
- map('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
+ map("n", "<leader>[", "<cmd>lua vim.lsp.buf.declaration()<CR>", opts)
+ map("n", "<leader>]", "<cmd>lua vim.lsp.buf.definition()<CR>", opts)
+ map("n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", opts)
+ map("n", "gk", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
+ map("n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", opts)
+ map("n", "[d", "<cmd>lua vim.diagnostic.goto_prev()<CR>", opts)
+ map("n", "]d", "<cmd>lua vim.diagnostic.goto_next()<CR>", opts)
+ map("n", "<leader>q", "<cmd>Telescope diagnostics<CR>", opts)
+ map("n", "<leader>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
end
- local lspconfig = require('lspconfig')
- lspconfig.clangd.setup { on_attach = on_attach }
- lspconfig.rust_analyzer.setup { on_attach = on_attach }
- -- need python-lsp-server and pyls-flake8
- lspconfig.pylsp.setup { on_attach = on_attach }
- -- package lua-language-server on ArchLinux
- lspconfig.sumneko_lua.setup {
- on_attach = on_attach ,
+ local lspconfig = require("lspconfig")
+ local capabilities = require("cmp_nvim_lsp").update_capabilities(
+ vim.lsp.protocol.make_client_capabilities()
+ )
+
+ -- $ go install golang.org/x/tools/gopls
+ lspconfig.gopls.setup {
+ on_attach = on_attach,
+ capabilities = capabilities,
settings = {
- Lua = {
- runtime = {
- -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim)
- version = 'LuaJIT',
- -- Setup your lua path
- path = vim.split(package.path, ';'),
- },
- diagnostics = {
- -- Get the language server to recognize the `vim` global
- globals = {'vim'},
- },
- workspace = {
- -- Make the server aware of Neovim runtime files
- library = {
- [vim.fn.expand('$VIMRUNTIME/lua')] = true,
- [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true,
- },
+ gopls = {
+ analyses = {
+ unusedparams = true
},
+ staticcheck = true
}
- },
+ }
}
+ -- from: https://github.com/golang/tools/blob/master/gopls/doc/vim.md#neovim-imports
+ function go_import_callback()
+ local wait_ms = 1000
+ local params = vim.lsp.util.make_range_params()
+ params.context = {only = {"source.organizeImports"}}
+ local result = vim.lsp.buf_request_sync(0, "textDocument/codeAction", params, wait_ms)
+ for _, res in pairs(result or {}) do
+ for _, r in pairs(res.result or {}) do
+ if r.edit then
+ vim.lsp.util.apply_workspace_edit(r.edit, "UTF-8")
+ else
+ vim.lsp.buf.execute_command(r.command)
+ end
+ end
+ end
+ end
+ local augroup = vim.api.nvim_create_augroup("cacharle_gopls_group", {})
+ vim.api.nvim_create_autocmd(
+ "BufWritePre",
+ { callback = go_import_callback, pattern = "*.go", group = augroup }
+ )
+
+ -- lspconfig.clangd.setup { on_attach = on_attach }
+ -- lspconfig.rust_analyzer.setup { on_attach = on_attach }
+ -- need python-lsp-server and pyls-flake8
+ lspconfig.pylsp.setup { on_attach = on_attach, capabilities = capabilities }
+
+ -- brew install haskell-language-server
+ lspconfig.hls.setup {}
+
+ -- opam install ocaml-lsp-server
+ lspconfig.ocamllsp.setup {}
+
+ -- package lua-language-server on ArchLinux
+ -- lspconfig.sumneko_lua.setup {
+ -- on_attach = on_attach ,
+ -- settings = {
+ -- Lua = {
+ -- runtime = {
+ -- -- Tell the language server which version of Lua you"re using (most likely LuaJIT in the case of Neovim)
+ -- version = "LuaJIT",
+ -- -- Setup your lua path
+ -- path = vim.split(package.path, ";"),
+ -- },
+ -- diagnostics = {
+ -- -- Get the language server to recognize the `vim` global
+ -- globals = {"vim"},
+ -- },
+ -- workspace = {
+ -- -- Make the server aware of Neovim runtime files
+ -- library = {
+ -- [vim.fn.expand("$VIMRUNTIME/lua")] = true,
+ -- [vim.fn.expand("$VIMRUNTIME/lua/vim/lsp")] = true,
+ -- },
+ -- },
+ -- }
+ -- },
+ -- }
vim.diagnostic.config {
signs = false,
update_in_insert = false,
@@ -63,82 +151,170 @@ return require('packer').startup(function()
end,
}
- -- rust lsp (needs rust-analyser)
+ -- -- rust lsp (needs rust-analyser)
+ -- use {
+ -- "simrat39/rust-tools.nvim",
+ -- requires = {"neovim/nvim-lspconfig"},
+ -- ft = {"rust"},
+ -- config = function()
+ -- local on_attach = function(_, bufnr)
+ -- local opts = { noremap = true, silent = true }
+ -- local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
+ -- map("n", "<leader>[", "<cmd>lua vim.lsp.buf.declaration()<CR>", opts)
+ -- map("n", "<leader>]", "<cmd>lua vim.lsp.buf.definition()<CR>", opts)
+ -- map("n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", opts)
+ -- map("n", "gk", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
+ -- map("n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", opts)
+ -- map("n", "[d", "<cmd>lua vim.diagnostic.goto_prev()<CR>", opts)
+ -- map("n", "]d", "<cmd>lua vim.diagnostic.goto_next()<CR>", opts)
+ -- map("n", "<leader>q", "<cmd>Telescope diagnostics<CR>", opts)
+ -- map("n", "<leader>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
+ -- end
+ -- require("rust-tools").setup {
+ -- server = {
+ -- on_attach = on_attach,
+ -- }
+ -- }
+ -- vim.diagnostic.config {
+ -- signs = false,
+ -- update_in_insert = false,
+ -- }
+ -- end
+ -- }
+
use {
- 'simrat39/rust-tools.nvim',
- requires = {'neovim/nvim-lspconfig'},
- ft = {'rust'},
+ "hrsh7th/nvim-cmp",
+ requires = {
+ "hrsh7th/cmp-nvim-lsp",
+ "hrsh7th/cmp-path",
+ "hrsh7th/cmp-buffer",
+ "hrsh7th/cmp-nvim-lsp-signature-help",
+ "onsails/lspkind.nvim",
+ "L3MON4D3/LuaSnip",
+ },
config = function()
- local on_attach = function(_, bufnr)
- local opts = { noremap = true, silent = true }
- local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
- map('n', '<leader>[', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
- map('n', '<leader>]', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
- map('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
- map('n', 'gk', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
- map('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
- map('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts)
- map('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
- map('n', '<leader>q', '<cmd>Telescope diagnostics<CR>', opts)
- map('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
- end
- require('rust-tools').setup {
- server = {
- on_attach = on_attach,
+ local lspkind = require("lspkind")
+ local cmp = require("cmp")
+ local luasnip = require("luasnip")
+ cmp.setup {
+ mapping = cmp.mapping.preset.insert({
+ -- ["<C-n>"] = cmp.mapping.select_next_item(),
+ -- ["<C-p>"] = cmp.mapping.select_prev_item(),
+ ["<C-b>"] = cmp.mapping.scroll_docs(-4),
+ ["<C-f>"] = cmp.mapping.scroll_docs(4),
+ ["<Tab>"] = cmp.mapping.confirm({ select = true }),
+ ["<C-n>"] = cmp.mapping(function(fallback)
+ if cmp.visible() then
+ cmp.select_next_item()
+ elseif luasnip.expand_or_jumpable() then
+ luasnip.expand_or_jump()
+ elseif has_words_before() then
+ cmp.complete()
+ else
+ fallback()
+ end
+ end, { "i", "s" }),
+ ["<C-p>"] = cmp.mapping(function(fallback)
+ if cmp.visible() then
+ cmp.select_prev_item()
+ elseif luasnip.jumpable(-1) then
+ luasnip.jump(-1)
+ else
+ fallback()
+ end
+ end, { "i", "s" }),
+ }),
+ -- order of the sources matter (first are higher priority)
+ sources = {
+ { name = "luasnip" },
+ { name = "nvim_lsp" },
+ { name = "nvim_lsp_signature_help" },
+ { name = "path" },
+ { name = "buffer", keyword_length = 2 },
+ },
+ formatting = {
+ format = lspkind.cmp_format({
+ with_text = true,
+ menu = {
+ nvim_lsp = "[LSP]",
+ path = "[path]",
+ buffer = "[buf]",
+ }
+ })
+ },
+ window = {
+ documentation = cmp.config.window.bordered(),
+ },
+ experimental = {
+ ghost_text = true,
+ },
+ snippet = {
+ expand = function(args)
+ luasnip.lsp_expand(args.body)
+ end
}
}
- vim.diagnostic.config {
- signs = false,
- update_in_insert = false,
- }
end
}
+
-- comment text objects
use {
- 'numToStr/Comment.nvim',
+ "numToStr/Comment.nvim",
config = function()
- require('Comment').setup()
+ require("Comment").setup()
end
}
- -- color scheme
+ -- gruvbox color scheme
+ -- use {
+ -- "ellisonleao/gruvbox.nvim",
+ -- requires = {"rktjmp/lush.nvim"},
+ -- config = function()
+ -- vim.opt.termguicolors = true
+ -- vim.opt.background = "dark"
+ -- -- vim.cmd [[ colorscheme gruvbox ]]
+ -- vim.g.gruvbox_italic = 1
+ -- vim.g.gruvbox_bold = 1
+ -- vim.g.gruvbox_termcolors = 256
+ -- vim.g.gruvbox_contrast_dark = "medium"
+ -- vim.g.gruvbox_contrast_light = "hard"
+ -- vim.g.gruvbox_invert_selection = 0
+ -- end
+ -- }
+ -- nord color scheme
use {
- 'ellisonleao/gruvbox.nvim',
- requires = {'rktjmp/lush.nvim'},
+ "shaunsingh/nord.nvim",
config = function()
vim.opt.termguicolors = true
vim.opt.background = "dark"
- vim.cmd [[ colorscheme gruvbox ]]
- vim.g.gruvbox_italic = 1
- vim.g.gruvbox_bold = 1
- vim.g.gruvbox_termcolors = 256
- vim.g.gruvbox_contrast_dark = 'medium'
- vim.g.gruvbox_contrast_light = 'hard'
- vim.g.gruvbox_invert_selection = 0
+ vim.cmd [[ colorscheme nord ]]
+ vim.g.nord_contrast = true
+ vim.g.nord_borders = true
+ vim.g.nord_italic = true
end
}
-- status line
use {
- 'nvim-lualine/lualine.nvim',
- requires = {'kyazdani42/nvim-web-devicons', opt = true},
+ "nvim-lualine/lualine.nvim",
+ requires = {"kyazdani42/nvim-web-devicons", opt = true},
config = function()
- require('lualine').setup {
+ require("lualine").setup {
options = {
- theme = 'gruvbox',
+ -- theme = "gruvbox",
+ theme = "nord",
icons_enabled = true,
section_separators = '',
component_separators = '',
- globalstatus = true,
}
}
end
}
-- better syntax highlight for everything
use {
- 'nvim-treesitter/nvim-treesitter',
- run = ':TSUpdate',
+ "nvim-treesitter/nvim-treesitter",
+ run = ":TSUpdate",
config = function()
- require('nvim-treesitter.configs').setup {
+ require("nvim-treesitter.configs").setup {
highlight = {
enable = true
},
@@ -159,39 +335,46 @@ return require('packer').startup(function()
}
-- fuzzy finder (replace fzf.vim or ctrlp.vim)
use {
- 'nvim-telescope/telescope.nvim',
+ "nvim-telescope/telescope.nvim",
requires = {
- {'nvim-lua/plenary.nvim'},
- {'kyazdani42/nvim-web-devicons', opt = true},
+ {"nvim-lua/plenary.nvim"},
+ {"kyazdani42/nvim-web-devicons", opt = true},
+ {
+ "nvim-telescope/telescope-fzf-native.nvim",
+ run = "make",
+ config = function() require("telescope").load_extension("fzf") end
+ },
},
config = function()
- local actions = require('telescope.actions')
- require('telescope').setup {
+ local actions = require("telescope.actions")
+ require("telescope").setup {
defaults = {
mappings = {
i = {
- ['<C-j>'] = actions.move_selection_next,
- ['<C-k>'] = actions.move_selection_previous,
- ['<esc>'] = actions.close,
- ['kj'] = actions.close,
+ ["<C-j>"] = actions.move_selection_next,
+ ["<C-k>"] = actions.move_selection_previous,
+ ["<esc>"] = actions.close,
+ ["kj"] = actions.close,
}
},
- }
+ },
}
local map = vim.api.nvim_set_keymap
map('n', '<C-p>', '<CMD>lua require"telescope-config".project_files()<CR>', { noremap = true, silent = true })
- map('n', '<leader>H', '<cmd>Telescope help_tags<cr>', {})
- map('n', '<leader>;', '<cmd>Telescope commands<cr>', {})
- map('n', '<leader>g', '<cmd>Telescope live_grep<cr>', {})
+ map("n", "<leader>H", "<cmd>Telescope help_tags<cr>", {})
+ map("n", "<leader>;", "<cmd>Telescope commands<cr>", {})
+ map("n", "<leader>p", "<cmd>Telescope tags<cr>", {})
+ map("n", "<leader>g", "<cmd>Telescope live_grep<cr>", {})
+ map("n", "<leader>G", "<cmd>Telescope grep_string<cr>", {})
end
}
-- todos,fix,etc.. highlight and list
use {
- 'folke/todo-comments.nvim',
- requires = 'nvim-lua/plenary.nvim',
+ "folke/todo-comments.nvim",
+ requires = "nvim-lua/plenary.nvim",
config = function()
- require('todo-comments').setup {
+ require("todo-comments").setup {
signs = false
}
end
@@ -199,43 +382,43 @@ return require('packer').startup(function()
-- remote files and lsp
use {
- 'chipsenkbeil/distant.nvim',
+ "chipsenkbeil/distant.nvim",
config = function()
-- local on_attach = function(client, bufnr)
-- local opts = { noremap = true, silent = true }
-- local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
- -- map('n', '<leader>[', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
- -- map('n', '<leader>]', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
- -- map('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
- -- map('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts)
- -- map('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
- -- map('n', '<leader>q', '<cmd>Telescope lsp_workspace_diagnostics<CR>', opts)
- -- map('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
+ -- map("n", "<leader>[", "<cmd>lua vim.lsp.buf.declaration()<CR>", opts)
+ -- map("n", "<leader>]", "<cmd>lua vim.lsp.buf.definition()<CR>", opts)
+ -- map("n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", opts)
+ -- map("n", "[d", "<cmd>lua vim.diagnostic.goto_prev()<CR>", opts)
+ -- map("n", "]d", "<cmd>lua vim.diagnostic.goto_next()<CR>", opts)
+ -- map("n", "<leader>q", "<cmd>Telescope lsp_workspace_diagnostics<CR>", opts)
+ -- map("n", "<leader>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
-- end
- require('distant').setup {
- ['*'] = require('distant.settings').chip_default()
+ require("distant").setup {
+ ["*"] = require("distant.settings").chip_default()
}
-- TODO: extend with job_distant_config.lua
end,
- run = ':DistantInstall'
+ run = ":DistantInstall"
}
-- jupyter kernel in nvim (with images, needs ueberzug)
use {
- 'dccsillag/magma-nvim',
- -- ft = { 'python' }, -- doesn't work
- run = ':UpdateRemotePlugins',
+ "dccsillag/magma-nvim",
+ -- ft = { "python" }, -- doesn"t work
+ run = ":UpdateRemotePlugins",
config = function()
local map = vim.api.nvim_set_keymap
- map('n', '<leader>m', "nvim_exec('MagmaEvaluateOperator', v:true)", { expr = true})
- map('n', '<leader>mm', '<cmd>MagmaEvaluateLine<CR>', {})
- map('x', '<leader>m', '<cmd><C-u>MagmaEvaluateVisual<CR>', {})
- map('n', '<leader>mc', '<cmd>MagmaReevaluateCell<CR>', {})
- map('n', '<leader>md', '<cmd>MagmaDelete<CR>', {})
- map('n', '<leader>mo', '<cmd>MagmaShowOutput<CR>', {})
+ map("n", "<leader>m", "nvim_exec('MagmaEvaluateOperator', v:true)", { expr = true})
+ map("n", "<leader>mm", "<cmd>MagmaEvaluateLine<CR>", {})
+ map("x", "<leader>m", "<cmd><C-u>MagmaEvaluateVisual<CR>", {})
+ map("n", "<leader>mc", "<cmd>MagmaReevaluateCell<CR>", {})
+ map("n", "<leader>md", "<cmd>MagmaDelete<CR>", {})
+ map("n", "<leader>mo", "<cmd>MagmaShowOutput<CR>", {})
end
}
- use { 'nvim-treesitter/playground', opt = true, cmd = { 'TSPlaygroundToggle' } }
- -- use { '~/git/argwrap.nvim', opt = true }
+ use { "nvim-treesitter/playground", opt = true, cmd = { "TSPlaygroundToggle" } }
+ -- use { "~/git/argwrap.nvim", opt = true }
end)