commit 3419a009a9d9a4de1b0be030db5198f7a163d764
parent c5c4b7c3c1bc6df4957bffec5742ec7ac350aa53
Author: Tomas Nemec <nemi@skaut.cz>
Date: Tue, 31 May 2022 07:40:33 +0200
update
Diffstat:
9 files changed, 126 insertions(+), 40 deletions(-)
diff --git a/after/plugin/cmp.lua b/after/plugin/cmp.lua
@@ -33,8 +33,8 @@ cmp.setup({
experimental = { ghost_text = true },
})
-cmp.setup.cmdline('/', { mapping = cmp.mapping.preset.cmdline(), sources = { { name = 'buffer' } } })
-cmp.setup.cmdline(':', {
- mapping = cmp.mapping.preset.cmdline(),
- sources = cmp.config.sources({ { name = 'path' } }, { { name = 'cmdline' } }),
-})
+-- cmp.setup.cmdline('/', { mapping = cmp.mapping.preset.cmdline(), sources = { { name = 'buffer' } } })
+-- cmp.setup.cmdline(':', {
+-- mapping = cmp.mapping.preset.cmdline(),
+-- sources = cmp.config.sources({ { name = 'path' } }, { { name = 'cmdline' } }),
+-- })
diff --git a/after/plugin/sideways.lua b/after/plugin/sideways.lua
@@ -1,14 +0,0 @@
-if not vim.g.loaded_sideways then return end
-
-vim.keymap.set('n', '<c-h>', '<cmd>SidewaysLeft<cr>')
-vim.keymap.set('n', '<c-l>', '<cmd>SidewaysRight<cr>')
-vim.keymap.set('o', 'aa', '<Plug>SidewaysArgumentTextobjA')
-vim.keymap.set('o', 'a.', '<Plug>SidewaysArgumentTextobjA')
-vim.keymap.set('x', 'aa', '<Plug>SidewaysArgumentTextobjA')
-vim.keymap.set('x', 'a.', '<Plug>SidewaysArgumentTextobjA')
-vim.keymap.set('o', 'ia', '<Plug>SidewaysArgumentTextobjI')
-vim.keymap.set('x', 'ia', '<Plug>SidewaysArgumentTextobjI')
-vim.keymap.set('n', '<leader>ah', '<Plug>SidewaysArgumentInsertBefore')
-vim.keymap.set('n', '<leader>al', '<Plug>SidewaysArgumentAppendAfter')
-vim.keymap.set('n', '<leader>aH', '<Plug>SidewaysArgumentInsertFirst')
-vim.keymap.set('n', '<leader>aL', '<Plug>SidewaysArgumentAppendLast')
diff --git a/after/plugin/telescope.lua b/after/plugin/telescope.lua
@@ -5,7 +5,11 @@ local actions = require('telescope.actions')
local action_generate = require('telescope.actions.generate')
telescope.setup {
- defaults = { mappings = { i = { ['<esc>'] = actions.close, ['<c-?>'] = action_generate.which_key() } } },
+ defaults = {
+ mappings = {
+ i = { ['<esc>'] = actions.close, ['<c-y>'] = actions.select_default, ['<c-?>'] = action_generate.which_key() },
+ },
+ },
extensions = { fzy_native = { override_generic_sorter = false, override_file_sorter = true } },
}
diff --git a/after/plugin/treesitter.lua b/after/plugin/treesitter.lua
@@ -32,15 +32,17 @@ require'nvim-treesitter.configs'.setup {
indent = { enable = true },
- refactor = { highlight_definitions = { enable = false } },
+ refactor = { highlight_definitions = { enable = true, clear_on_cursor_move = false } },
textobjects = {
enable = true,
select = {
enable = true,
+ lookahead = true,
+ lookbehind = true,
keymaps = {
- -- ['ia'] = "@parameter.inner",
- -- ['aa'] = "@parameter.outer",
+ ['ia'] = '@parameter.inner',
+ ['aa'] = '@parameter.outer',
['af'] = '@function.outer',
['if'] = '@function.inner',
['ac'] = '@comment.outer',
@@ -49,26 +51,41 @@ require'nvim-treesitter.configs'.setup {
},
swap = {
enable = true,
- swap_next = {
- -- [">p"] = "@parameter.inner",
+ swap_next = { --
+ ['>p'] = '@parameter.inner',
['>m'] = '@function.outer',
},
- swap_previous = {
- -- ["<p"] = "@parameter.inner",
+ swap_previous = { --
+ ['<p'] = '@parameter.inner',
['<m'] = '@function.outer',
},
},
move = {
enable = true,
- goto_next_start = { [']]'] = '@function.outer', [']c'] = '@class.outer' },
- goto_next_end = { [']['] = '@function.inner', [']C'] = '@class.outer' },
- goto_previous_start = { ['[['] = '@function.outer', ['[c'] = '@class.outer' },
- goto_previous_end = { ['[]'] = '@function.inner', ['[C'] = '@class.outer' },
+ goto_next_start = { --
+ [']]'] = '@function.outer',
+ [']c'] = '@class.outer',
+ },
+ goto_next_end = { --
+ [']['] = '@function.inner',
+ [']C'] = '@class.outer',
+ },
+ goto_previous_start = { --
+ ['[['] = '@function.outer',
+ ['[c'] = '@class.outer',
+ },
+ goto_previous_end = { --
+ ['[]'] = '@function.inner',
+ ['[C'] = '@class.outer',
+ },
},
lsp_interop = {
enable = true,
border = 'single',
- peek_definition_code = { ['<leader>sf'] = '@function.outer', ['<leader>sc'] = '@class.outer' },
+ peek_definition_code = { --
+ ['<leader>sf'] = '@function.outer',
+ ['<leader>sc'] = '@class.outer',
+ },
},
},
@@ -81,4 +98,7 @@ vim.keymap.set('n', '<leader>su', '<cmd>TSHRefresh<cr>')
require('tms.colors').update(function(t)
t.Group.new('TreesitterContext', t.colors.none, t.dimm(t.groups.Normal.bg, 0.03))
+ t.Group.new('TSDefinition', t.colors.none, t.colors.none)
+ t.Group.new('TSCurentScope', t.colors.none, t.colors.none)
+ t.Group.new('TSDefinitionUsage', t.colors.none, t.dimm(t.groups.Normal.bg, 0.03))
end)
diff --git a/ftplugin/dart.lua b/ftplugin/dart.lua
@@ -1,8 +1,7 @@
vim.g.dart_style_guide = 2
vim.g.dart_html_in_string = true
-local has_helper, helper = pcall(require, 'dartls-helper.lsp')
-if not has_helper then return end
+if not pcall(require, 'dartls-helper.lsp') then return end
local lsp = require('dartls-helper.lsp')
local req = require('dartls-helper.request')
@@ -28,11 +27,16 @@ vim.keymap.set({ 'v', 'n' }, '<leader>pi', lsp.inline_local_variable, opts('Dart
vim.keymap.set({ 'v', 'n' }, '<leader>pe', lsp.extract_local_variable, opts('Dart Extract Local Varibale'))
vim.keymap.set({ 'v', 'n' }, '<leader>pm', lsp.extract_method, opts('Dart Extract Method'))
vim.keymap.set('n', '<leader>pl', lsp.list_code_action_kinds, opts('Dart List Code Actions'))
-vim.keymap.set('n', '<leader>ps', function() req.execute_code_action('refactor.splitVariableDeclaration') end, opts('Dart Split Variable Declaration'))
-vim.keymap.set('n', '<leader>pj', function() req.execute_code_action('refactor.joinVariableDeclaration') end, opts('Dart Join Variable Declaration'))
-vim.keymap.set('n', '<leader>px', function() req.execute_code_action('refactor.convert.bodyToExpression') end, opts('Dart Convert To Expression'))
-vim.keymap.set('n', '<leader>pa', function() req.execute_code_action('refactor.convert.bodyToAsync') end, opts('Dart Convert To Async'))
-vim.keymap.set('n', '<leader>pb', function() req.execute_code_action('refactor.convert.bodyToBlock') end, opts('Dart Convert To Block'))
+vim.keymap.set('n', '<leader>ps', function() req.execute_code_action('refactor.splitVariableDeclaration') end,
+ opts('Dart Split Variable Declaration'))
+vim.keymap.set('n', '<leader>pj', function() req.execute_code_action('refactor.joinVariableDeclaration') end,
+ opts('Dart Join Variable Declaration'))
+vim.keymap.set('n', '<leader>px', function() req.execute_code_action('refactor.convert.bodyToExpression') end,
+ opts('Dart Convert To Expression'))
+vim.keymap.set('n', '<leader>pa', function() req.execute_code_action('refactor.convert.bodyToAsync') end,
+ opts('Dart Convert To Async'))
+vim.keymap.set('n', '<leader>pb', function() req.execute_code_action('refactor.convert.bodyToBlock') end,
+ opts('Dart Convert To Block'))
if vim.fn.getline(1):match('^#!.*dcli') then
vim.cmd [[comp dcli]]
diff --git a/ftplugin/java.lua b/ftplugin/java.lua
@@ -1 +1,71 @@
-- require('jdtls').start_or_attach({cmd = 'java-lsp.sh'})
+--
+-- If you started neovim within `~/dev/xy/project-1` this would resolve to `project-1`
+local project_name = vim.fn.fnamemodify(vim.fn.getcwd(), ':p:h:t')
+local workspace_dir = '/home/tms/.cache/jdtls/' .. project_name
+
+-- See `:help vim.lsp.start_client` for an overview of the supported `config` options.
+local config = {
+ -- The command that starts the language server
+ -- See: https://github.com/eclipse/eclipse.jdt.ls#running-from-the-command-line
+ cmd = {
+
+ -- ๐
+ 'java', -- or '/path/to/java11_or_newer/bin/java'
+ -- depends on if `java` is in your $PATH env variable and if it points to the right version.
+
+ '-Declipse.application=org.eclipse.jdt.ls.core.id1',
+ '-Dosgi.bundles.defaultStartLevel=4',
+ '-Declipse.product=org.eclipse.jdt.ls.core.product',
+ '-Dlog.protocol=true',
+ '-Dlog.level=ALL',
+ '-Xms1g',
+ '--add-modules=ALL-SYSTEM',
+ '--add-opens',
+ 'java.base/java.util=ALL-UNNAMED',
+ '--add-opens',
+ 'java.base/java.lang=ALL-UNNAMED',
+
+ -- ๐
+ '-jar',
+ '/usr/share/java/jdtls/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar',
+ -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
+ -- Must point to the Change this to
+ -- eclipse.jdt.ls installation the actual version
+
+ -- ๐
+ '-configuration',
+ '/usr/share/java/jdtls/config_linux',
+ -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^
+ -- Must point to the Change to one of `linux`, `win` or `mac`
+ -- eclipse.jdt.ls installation Depending on your system.
+
+ -- ๐
+ -- See `data directory configuration` section in the README
+ '-data',
+ workspace_dir,
+ },
+
+ -- ๐
+ -- This is the default if not provided, you can remove it. Or adjust as needed.
+ -- One dedicated LSP server & client will be started per unique root_dir
+ root_dir = require('jdtls.setup').find_root({ '.git', 'mvnw', 'gradlew' }),
+
+ -- Here you can configure eclipse.jdt.ls specific settings
+ -- See https://github.com/eclipse/eclipse.jdt.ls/wiki/Running-the-JAVA-LS-server-from-the-command-line#initialize-request
+ -- for a list of options
+ settings = { java = {} },
+
+ -- Language server `initializationOptions`
+ -- You need to extend the `bundles` with paths to jar files
+ -- if you want to use additional eclipse.jdt.ls plugins.
+ --
+ -- See https://github.com/mfussenegger/nvim-jdtls#java-debug-installation
+ --
+ -- If you don't plan on using the debugger or other eclipse.jdt.ls plugins you can remove this
+ init_options = { bundles = {} },
+}
+-- This starts a new client & server,
+-- or attaches to an existing client & server depending on the `root_dir`.
+-- require('jdtls').start_or_attach(config)
+-- require('jdtls').setup_dap()
diff --git a/lua/tms/plugins.lua b/lua/tms/plugins.lua
@@ -39,7 +39,6 @@ return packer.startup({
use 'Yggdroot/hiPairs'
use 'jandamm/cryoline.nvim'
use 'karb94/neoscroll.nvim'
- use 'AndrewRadev/sideways.vim'
use 'windwp/nvim-spectre'
use { 'sidebar-nvim/sidebar.nvim', requires = { 'kyazdani42/nvim-web-devicons' } }
@@ -81,6 +80,7 @@ return packer.startup({
use 'windwp/nvim-ts-autotag'
use 'baskerville/vim-sxhkdrc'
use 'dart-lang/dart-vim-plugin'
+ use 'mfussenegger/nvim-jdtls'
-- use 'akinsho/pubspec-assist.nvim'
-- snippets
use 'L3MON4D3/luaSnip'
diff --git a/plugin/builtin.lua b/plugin/builtin.lua
@@ -0,0 +1 @@
+vim.cmd [[packadd cfilter]]
diff --git a/plugin/options.lua b/plugin/options.lua
@@ -35,6 +35,7 @@ vim.opt.foldtext = 'MyFoldText()'
vim.opt.list = false
vim.opt.laststatus = 3
vim.opt.statusline = ' '
+vim.opt.winbar = '%=%m %f'
vim.opt.ruler = false
vim.opt.listchars = { space = 'ยท', tab = 'ยป ', extends = 'โบ', precedes = 'โน', nbsp = '_', trail = '_', eol = '$' }
vim.opt.fillchars = { eob = 'โข', fold = ' ' }