diff --git a/nvim/init.lua b/nvim/init.lua index 9e2fcf1..adede2f 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -5,3 +5,4 @@ require('lsp') require('nvim-cmp') require('keybindings') require('auto-commands') +require('tree-sitter') diff --git a/nvim/lua/auto-commands.lua b/nvim/lua/auto-commands.lua index 90c9b84..e1c3e99 100644 --- a/nvim/lua/auto-commands.lua +++ b/nvim/lua/auto-commands.lua @@ -32,3 +32,5 @@ vim.api.nvim_create_autocmd('BufWinLeave', { pattern = "*", command = [[:call clearmatches()]], }) + +-- TODO: disable folding for Telescope lines, see https://github.com/nvim-telescope/telescope.nvim/issues/991#issuecomment-882059894 diff --git a/nvim/lua/lsp.lua b/nvim/lua/lsp.lua index bc0365f..c5468e6 100644 --- a/nvim/lua/lsp.lua +++ b/nvim/lua/lsp.lua @@ -20,13 +20,29 @@ local on_attach = function(client, bufnr) buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) buf_set_keymap('n', 'gi', 'lua vim.lsp.buf.implementation()', opts) buf_set_keymap('n', '', 'lua vim.lsp.buf.signature_help()', opts) + + buf_set_keymap('n', 'ff', 'lua require("telescope.builtin").find_files()', opts) + buf_set_keymap('n', 'fg', 'lua require("telescope.builtin").live_grep()', opts) + buf_set_keymap('n', 'fb', 'lua require("telescope.builtin").buffers()', opts) + buf_set_keymap('n', 'fh', 'lua require("telescope.builtin").help_tags()', opts) end local nvim_lsp = require('lspconfig') --enable some language servers with the additional completion capabilities --offered by nvim-cmp -local servers = { 'pyright', 'ansiblels', 'yamlls', 'tsserver' } +local servers = { 'ansiblels', 'yamlls', 'tsserver' } + +local util = require("lspconfig/util") + +nvim_lsp.pyright.setup({ + on_attach = on_attach, + capabilities = capabilities, + root_dir = function(fname) + return util.root_pattern(".git", "setup.cfg", "requirements")(fname) or + util.path.dirname(fname) + end +}) for _, lsp in ipairs(servers) do nvim_lsp[lsp].setup { diff --git a/nvim/lua/options.lua b/nvim/lua/options.lua index b50da15..7d53eac 100644 --- a/nvim/lua/options.lua +++ b/nvim/lua/options.lua @@ -32,9 +32,6 @@ vim.opt.path = vim.opt.path + { '**' } --line numbers vim.o.number = true ---changes to current directory when creating new files -vim.o.autochdir = true - --higlhight search vim.o.hls = true diff --git a/nvim/lua/tree-sitter.lua b/nvim/lua/tree-sitter.lua new file mode 100644 index 0000000..c8c927a --- /dev/null +++ b/nvim/lua/tree-sitter.lua @@ -0,0 +1,9 @@ +local tree_sitter_config = require('nvim-treesitter.configs') + +tree_sitter_config.setup { + ensure_installed = { + 'lua', 'yaml', 'bash', 'python', 'javascript', 'css', 'scss', 'html', + 'json', 'dockerfile', 'markdown', + }, + auto_install = true, +}