format and stuff
This commit is contained in:
@ -2,7 +2,7 @@ vim.g.catppuccin_flavour = "macchiato" -- latte, frappe, macchiato, mocha
|
||||
local colors = require("catppuccin.palettes").get_palette()
|
||||
|
||||
require("catppuccin").setup({
|
||||
flavour = "macchiato",
|
||||
flavour = "macchiato",
|
||||
integrations = {
|
||||
cmp = true,
|
||||
-- coc_nvim = false,
|
||||
@ -17,23 +17,23 @@ require("catppuccin").setup({
|
||||
-- lightspeed = false,
|
||||
-- lsp_saga = false,
|
||||
lsp_trouble = true,
|
||||
mason = true,
|
||||
markdown = true,
|
||||
mason = true,
|
||||
markdown = true,
|
||||
-- neogit = false,
|
||||
-- neotest = false,
|
||||
neotree = true,
|
||||
neotree = true,
|
||||
notify = true,
|
||||
-- nvimtree = true,
|
||||
-- overseer = false,
|
||||
-- pounce = false,
|
||||
symbols_outline = true,
|
||||
symbols_outline = true,
|
||||
telescope = true,
|
||||
treesitter = true,
|
||||
treesitter_context = false,
|
||||
treesitter_context = false,
|
||||
-- ts_rainbow = false,
|
||||
-- vim_sneak = false,
|
||||
-- vimwiki = false,
|
||||
which_key = true,
|
||||
which_key = true,
|
||||
|
||||
-- Special integrations, see https://github.com/catppuccin/nvim#special-integrations
|
||||
dap = {
|
||||
@ -60,12 +60,12 @@ require("catppuccin").setup({
|
||||
},
|
||||
},
|
||||
},
|
||||
custom_highlights = {
|
||||
Identifier = { fg = colors.lavender },
|
||||
Statement = { fg = colors.rosewater },
|
||||
-- Identifier = { fg = colors.sapphire },
|
||||
Function = { fg = colors.mauve },
|
||||
},
|
||||
custom_highlights = {
|
||||
Identifier = { fg = colors.lavender },
|
||||
Statement = { fg = colors.rosewater },
|
||||
-- Identifier = { fg = colors.sapphire },
|
||||
Function = { fg = colors.mauve },
|
||||
},
|
||||
})
|
||||
|
||||
vim.api.nvim_command "colorscheme catppuccin"
|
||||
vim.api.nvim_command("colorscheme catppuccin")
|
||||
|
@ -6,50 +6,58 @@ map("n", "<leader>dso", ":lua require'dap'.step_over()<CR>")
|
||||
map("n", "<leader>di", ":lua require'dap'.repl.open()<CR>")
|
||||
|
||||
local on_attach = function(client, bufnr)
|
||||
require'jdtls.setup'.add_commands()
|
||||
require'jdtls'.setup_dap()
|
||||
require'lsp-status'.register_progress()
|
||||
-- require'lspkind'.init()
|
||||
-- require'lspsaga'.init_lsp_saga()
|
||||
require("jdtls.setup").add_commands()
|
||||
require("jdtls").setup_dap()
|
||||
require("lsp-status").register_progress()
|
||||
-- require'lspkind'.init()
|
||||
-- require'lspsaga'.init_lsp_saga()
|
||||
|
||||
-- Kommentary
|
||||
vim.api.nvim_set_keymap("n", "<leader>/", "<plug>kommentary_line_default", {})
|
||||
vim.api.nvim_set_keymap("v", "<leader>/", "<plug>kommentary_visual_default", {})
|
||||
-- Kommentary
|
||||
vim.api.nvim_set_keymap("n", "<leader>/", "<plug>kommentary_line_default", {})
|
||||
vim.api.nvim_set_keymap("v", "<leader>/", "<plug>kommentary_visual_default", {})
|
||||
|
||||
vim.api.nvim_exec([[
|
||||
vim.api.nvim_exec(
|
||||
[[
|
||||
augroup FormatAutogroup
|
||||
autocmd!
|
||||
autocmd BufWritePost *.java FormatWrite
|
||||
augroup end
|
||||
]], true)
|
||||
]],
|
||||
true
|
||||
)
|
||||
|
||||
local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
|
||||
local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
|
||||
local function buf_set_keymap(...)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, ...)
|
||||
end
|
||||
local function buf_set_option(...)
|
||||
vim.api.nvim_buf_set_option(bufnr, ...)
|
||||
end
|
||||
|
||||
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||
buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc")
|
||||
|
||||
-- Mappings.
|
||||
local opts = { noremap=true, silent=true }
|
||||
-- buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<leader>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<leader>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<leader>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
|
||||
-- buf_set_keymap('n', '<leader>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
||||
-- buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references() && vim.cmd("copen")<CR>', opts)
|
||||
-- buf_set_keymap('n', '<leader>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
|
||||
-- buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
|
||||
-- buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<leader>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
|
||||
-- Java specific
|
||||
-- buf_set_keymap("n", "<leader>di", "<Cmd>lua require'jdtls'.organize_imports()<CR>", opts)
|
||||
-- buf_set_keymap("n", "<leader>dt", "<Cmd>lua require'jdtls'.test_class()<CR>", opts)
|
||||
-- buf_set_keymap("n", "<leader>dn", "<Cmd>lua require'jdtls'.test_nearest_method()<CR>", opts)
|
||||
buf_set_keymap("v", "<leader>de", "<Esc><Cmd>lua require('jdtls').extract_variable(true)<CR>", opts)
|
||||
buf_set_keymap("n", "<leader>de", "<Cmd>lua require('jdtls').extract_variable()<CR>", opts)
|
||||
buf_set_keymap("v", "<leader>dm", "<Esc><Cmd>lua require('jdtls').extract_method(true)<CR>", opts)
|
||||
-- Mappings.
|
||||
local opts = { noremap = true, silent = true }
|
||||
-- buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<leader>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<leader>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<leader>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
|
||||
-- buf_set_keymap('n', '<leader>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
||||
-- buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references() && vim.cmd("copen")<CR>', opts)
|
||||
-- buf_set_keymap('n', '<leader>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
|
||||
-- buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
|
||||
-- buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<leader>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
|
||||
-- Java specific
|
||||
-- buf_set_keymap("n", "<leader>di", "<Cmd>lua require'jdtls'.organize_imports()<CR>", opts)
|
||||
-- buf_set_keymap("n", "<leader>dt", "<Cmd>lua require'jdtls'.test_class()<CR>", opts)
|
||||
-- buf_set_keymap("n", "<leader>dn", "<Cmd>lua require'jdtls'.test_nearest_method()<CR>", opts)
|
||||
buf_set_keymap("v", "<leader>de", "<Esc><Cmd>lua require('jdtls').extract_variable(true)<CR>", opts)
|
||||
buf_set_keymap("n", "<leader>de", "<Cmd>lua require('jdtls').extract_variable()<CR>", opts)
|
||||
buf_set_keymap("v", "<leader>dm", "<Esc><Cmd>lua require('jdtls').extract_method(true)<CR>", opts)
|
||||
|
||||
vim.api.nvim_exec([[
|
||||
vim.api.nvim_exec(
|
||||
[[
|
||||
hi LspReferenceRead cterm=bold ctermbg=red guibg=LightYellow
|
||||
hi LspReferenceText cterm=bold ctermbg=red guibg=LightYellow
|
||||
hi LspReferenceWrite cterm=bold ctermbg=red guibg=LightYellow
|
||||
@ -58,138 +66,141 @@ local on_attach = function(client, bufnr)
|
||||
autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight()
|
||||
autocmd CursorMoved <buffer> lua vim.lsp.buf.clear_references()
|
||||
augroup END
|
||||
]], false)
|
||||
|
||||
]],
|
||||
false
|
||||
)
|
||||
end
|
||||
|
||||
local root_markers = {'gradlew', 'pom.xml','BUILD'}
|
||||
local root_dir = require('jdtls.setup').find_root(root_markers)
|
||||
local home = os.getenv('HOME')
|
||||
local root_markers = { "gradlew", "pom.xml", "BUILD" }
|
||||
local root_dir = require("jdtls.setup").find_root(root_markers)
|
||||
local home = os.getenv("HOME")
|
||||
|
||||
local capabilities = {
|
||||
workspace = {
|
||||
configuration = true
|
||||
},
|
||||
textDocument = {
|
||||
completion = {
|
||||
completionItem = {
|
||||
snippetSupport = true
|
||||
}
|
||||
}
|
||||
}
|
||||
workspace = {
|
||||
configuration = true,
|
||||
},
|
||||
textDocument = {
|
||||
completion = {
|
||||
completionItem = {
|
||||
snippetSupport = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
local workspace_folder = home .. "/.workspace" .. vim.fn.fnamemodify(root_dir, ":p:h:t")
|
||||
local config = {
|
||||
flags = {
|
||||
allow_incremental_sync = true,
|
||||
};
|
||||
capabilities = capabilities,
|
||||
on_attach = on_attach,
|
||||
flags = {
|
||||
allow_incremental_sync = true,
|
||||
},
|
||||
capabilities = capabilities,
|
||||
on_attach = on_attach,
|
||||
}
|
||||
|
||||
config.settings = {
|
||||
['java.format.settings.url'] = home .. "/.config/nvim/language-servers/java-google-formatter.xml",
|
||||
['java.format.settings.profile'] = "GoogleStyle",
|
||||
java = {
|
||||
signatureHelp = { enabled = true };
|
||||
contentProvider = { preferred = 'fernflower' };
|
||||
completion = {
|
||||
favoriteStaticMembers = {
|
||||
"org.hamcrest.MatcherAssert.assertThat",
|
||||
"org.hamcrest.Matchers.*",
|
||||
"org.hamcrest.CoreMatchers.*",
|
||||
"org.junit.jupiter.api.Assertions.*",
|
||||
"java.util.Objects.requireNonNull",
|
||||
"java.util.Objects.requireNonNullElse",
|
||||
"org.mockito.Mockito.*"
|
||||
}
|
||||
};
|
||||
sources = {
|
||||
organizeImports = {
|
||||
starThreshold = 9999;
|
||||
staticStarThreshold = 9999;
|
||||
};
|
||||
};
|
||||
codeGeneration = {
|
||||
toString = {
|
||||
template = "${object.className}{${member.name()}=${member.value}, ${otherMembers}}"
|
||||
}
|
||||
};
|
||||
configuration = {
|
||||
runtimes = {
|
||||
{
|
||||
name = "JavaSE-11",
|
||||
path = home .. "/.sdkman/candidates/java/11.0.10-open/",
|
||||
},
|
||||
{
|
||||
name = "JavaSE-14",
|
||||
path = home .. "/.sdkman/candidates/java/14.0.2-open/",
|
||||
},
|
||||
{
|
||||
name = "JavaSE-15",
|
||||
path = home .. "/.sdkman/candidates/java/15.0.1-open/",
|
||||
},
|
||||
}
|
||||
};
|
||||
};
|
||||
["java.format.settings.url"] = home .. "/.config/nvim/language-servers/java-google-formatter.xml",
|
||||
["java.format.settings.profile"] = "GoogleStyle",
|
||||
java = {
|
||||
signatureHelp = { enabled = true },
|
||||
contentProvider = { preferred = "fernflower" },
|
||||
completion = {
|
||||
favoriteStaticMembers = {
|
||||
"org.hamcrest.MatcherAssert.assertThat",
|
||||
"org.hamcrest.Matchers.*",
|
||||
"org.hamcrest.CoreMatchers.*",
|
||||
"org.junit.jupiter.api.Assertions.*",
|
||||
"java.util.Objects.requireNonNull",
|
||||
"java.util.Objects.requireNonNullElse",
|
||||
"org.mockito.Mockito.*",
|
||||
},
|
||||
},
|
||||
sources = {
|
||||
organizeImports = {
|
||||
starThreshold = 9999,
|
||||
staticStarThreshold = 9999,
|
||||
},
|
||||
},
|
||||
codeGeneration = {
|
||||
toString = {
|
||||
template = "${object.className}{${member.name()}=${member.value}, ${otherMembers}}",
|
||||
},
|
||||
},
|
||||
configuration = {
|
||||
runtimes = {
|
||||
{
|
||||
name = "JavaSE-11",
|
||||
path = home .. "/.sdkman/candidates/java/11.0.10-open/",
|
||||
},
|
||||
{
|
||||
name = "JavaSE-14",
|
||||
path = home .. "/.sdkman/candidates/java/14.0.2-open/",
|
||||
},
|
||||
{
|
||||
name = "JavaSE-15",
|
||||
path = home .. "/.sdkman/candidates/java/15.0.1-open/",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
config.cmd = {'javalsp', workspace_folder}
|
||||
config.cmd = { "javalsp", workspace_folder }
|
||||
config.on_attach = on_attach
|
||||
config.on_init = function(client, _)
|
||||
client.notify('workspace/didChangeConfiguration', { settings = config.settings })
|
||||
client.notify("workspace/didChangeConfiguration", { settings = config.settings })
|
||||
end
|
||||
|
||||
local extendedClientCapabilities = require'jdtls'.extendedClientCapabilities
|
||||
local extendedClientCapabilities = require("jdtls").extendedClientCapabilities
|
||||
extendedClientCapabilities.resolveAdditionalTextEditsSupport = true
|
||||
config.init_options = {
|
||||
-- bundles = bundles;
|
||||
extendedClientCapabilities = extendedClientCapabilities;
|
||||
-- bundles = bundles;
|
||||
extendedClientCapabilities = extendedClientCapabilities,
|
||||
}
|
||||
|
||||
-- UI
|
||||
local finders = require'telescope.finders'
|
||||
local sorters = require'telescope.sorters'
|
||||
local actions = require'telescope.actions'
|
||||
local pickers = require'telescope.pickers'
|
||||
require('jdtls.ui').pick_one_async = function(items, prompt, label_fn, cb)
|
||||
local opts = {}
|
||||
pickers.new(opts, {
|
||||
prompt_title = prompt,
|
||||
finder = finders.new_table {
|
||||
results = items,
|
||||
entry_maker = function(entry)
|
||||
return {
|
||||
value = entry,
|
||||
display = label_fn(entry),
|
||||
ordinal = label_fn(entry),
|
||||
}
|
||||
end,
|
||||
},
|
||||
sorter = sorters.get_generic_fuzzy_sorter(),
|
||||
attach_mappings = function(prompt_bufnr)
|
||||
actions.goto_file_selection_edit:replace(function()
|
||||
local selection = actions.get_selected_entry(prompt_bufnr)
|
||||
actions.close(prompt_bufnr)
|
||||
local finders = require("telescope.finders")
|
||||
local sorters = require("telescope.sorters")
|
||||
local actions = require("telescope.actions")
|
||||
local pickers = require("telescope.pickers")
|
||||
require("jdtls.ui").pick_one_async = function(items, prompt, label_fn, cb)
|
||||
local opts = {}
|
||||
pickers
|
||||
.new(opts, {
|
||||
prompt_title = prompt,
|
||||
finder = finders.new_table({
|
||||
results = items,
|
||||
entry_maker = function(entry)
|
||||
return {
|
||||
value = entry,
|
||||
display = label_fn(entry),
|
||||
ordinal = label_fn(entry),
|
||||
}
|
||||
end,
|
||||
}),
|
||||
sorter = sorters.get_generic_fuzzy_sorter(),
|
||||
attach_mappings = function(prompt_bufnr)
|
||||
actions.goto_file_selection_edit:replace(function()
|
||||
local selection = actions.get_selected_entry(prompt_bufnr)
|
||||
actions.close(prompt_bufnr)
|
||||
|
||||
cb(selection.value)
|
||||
end)
|
||||
cb(selection.value)
|
||||
end)
|
||||
|
||||
return true
|
||||
end,
|
||||
}):find()
|
||||
return true
|
||||
end,
|
||||
})
|
||||
:find()
|
||||
end
|
||||
|
||||
local dap = require('dap')
|
||||
local dap = require("dap")
|
||||
dap.configurations.java = {
|
||||
{
|
||||
type = 'java';
|
||||
request = 'attach';
|
||||
name = "Debug (Attach) - Remote";
|
||||
hostName = "127.0.0.1";
|
||||
port = 5005;
|
||||
},
|
||||
{
|
||||
type = "java",
|
||||
request = "attach",
|
||||
name = "Debug (Attach) - Remote",
|
||||
hostName = "127.0.0.1",
|
||||
port = 5005,
|
||||
},
|
||||
}
|
||||
|
||||
-- Server
|
||||
require('jdtls').start_or_attach(config)
|
||||
require("jdtls").start_or_attach(config)
|
||||
|
@ -2,32 +2,32 @@ local map = require("utils").map
|
||||
local use_google = require("utils").use_google
|
||||
|
||||
if use_google() then
|
||||
map("n", "<leader>tm", ":Telescope citc modified<CR>")
|
||||
map("n", "<leader>tb", ":Telescope file_browser<CR>")
|
||||
map("n", "<leader>tm", ":Telescope citc modified<CR>")
|
||||
map("n", "<leader>tb", ":Telescope file_browser<CR>")
|
||||
|
||||
-- [F]ig [S]tatus
|
||||
map('n', '<leader>fs', [[<cmd>lua require('telescope').extensions.fig.status{}<CR>]])
|
||||
-- [F]ig [S]tatus
|
||||
map("n", "<leader>fs", [[<cmd>lua require('telescope').extensions.fig.status{}<CR>]])
|
||||
|
||||
-- [F]ig [X]l
|
||||
map('n', '<leader>fx', [[<cmd>lua require('telescope').extensions.fig.xl{}<CR>]])
|
||||
-- [F]ig [X]l
|
||||
map("n", "<leader>fx", [[<cmd>lua require('telescope').extensions.fig.xl{}<CR>]])
|
||||
|
||||
-- [F]ig [W]hatsout
|
||||
map('n', '<leader>fw', [[<cmd>lua require('telescope').extensions.fig.status{whatsout=true}<CR>]])
|
||||
-- [F]ig [W]hatsout
|
||||
map("n", "<leader>fw", [[<cmd>lua require('telescope').extensions.fig.status{whatsout=true}<CR>]])
|
||||
|
||||
-- [F]ig [A]mend
|
||||
map('n', '<leader>fa', [[<cmd>Hg amend<CR>]])
|
||||
-- [F]ig [A]mend
|
||||
map("n", "<leader>fa", [[<cmd>Hg amend<CR>]])
|
||||
|
||||
-- [F]ig [A]mend
|
||||
map('n', '<leader>fe', [[<cmd>Hg evolve<CR>]])
|
||||
-- [F]ig [A]mend
|
||||
map("n", "<leader>fe", [[<cmd>Hg evolve<CR>]])
|
||||
|
||||
-- [F]ig [N]ext
|
||||
map('n', '<leader>fn', [[<cmd>Hg next<CR>]])
|
||||
--
|
||||
-- [F]ig [P]rev
|
||||
map('n', '<leader>fp', [[<cmd>Hg prev<CR>]])
|
||||
--
|
||||
-- [F]ig [U]pload
|
||||
map('n', '<leader>fu', [[<cmd>Hg upload tree<CR>]])
|
||||
-- [F]ig [N]ext
|
||||
map("n", "<leader>fn", [[<cmd>Hg next<CR>]])
|
||||
--
|
||||
-- [F]ig [P]rev
|
||||
map("n", "<leader>fp", [[<cmd>Hg prev<CR>]])
|
||||
--
|
||||
-- [F]ig [U]pload
|
||||
map("n", "<leader>fu", [[<cmd>Hg upload tree<CR>]])
|
||||
|
||||
-- map('n', '<Leader>f', ':Figtree<CR>', { silent = true })
|
||||
-- map('n', '<Leader>f', ':Figtree<CR>', { silent = true })
|
||||
end
|
||||
|
@ -1,53 +1,59 @@
|
||||
-- Here are all the options and their default values:
|
||||
require('google.comments').setup {
|
||||
-- command = {'/google/bin/releases/editor-devtools/get_comments.par', '--full', '--json', "-x=''"},
|
||||
-- stubby = true,
|
||||
command = {'/google/bin/releases/editor-devtools/get_comments.par', '--json', '--full', '--noresolved', '--cl_comments', '--file_comments'},
|
||||
-- command = {'stubby --output_json call blade:codereview-rpc CodereviewRpcService.GetComments "changelist_number: $(/google/data/ro/teams/fig/bin/vcstool pending-change-number)"'},
|
||||
-- Define your own icon by `vim.fn.sign_define('ICON_NAME', {text = ' '})`.
|
||||
-- See :help sign_define
|
||||
-- The sign property passed to setup should be the 'ICON_NAME' in the define
|
||||
-- example above.
|
||||
sign = 'COMMENT_ICON',
|
||||
-- Fetch the comments after calling `setup`.
|
||||
auto_fetch = true,
|
||||
display = {
|
||||
-- The width of the comment display window.
|
||||
width = 50,
|
||||
-- When showing file paths, use relative paths or not.
|
||||
relative_path = true,
|
||||
--- Enable viewing comments through floating window
|
||||
floating = true,
|
||||
--- Options used when creating the floating window.
|
||||
floating_window_options = floating_window_options
|
||||
},
|
||||
}
|
||||
require("google.comments").setup({
|
||||
-- command = {'/google/bin/releases/editor-devtools/get_comments.par', '--full', '--json', "-x=''"},
|
||||
-- stubby = true,
|
||||
command = {
|
||||
"/google/bin/releases/editor-devtools/get_comments.par",
|
||||
"--json",
|
||||
"--full",
|
||||
"--noresolved",
|
||||
"--cl_comments",
|
||||
"--file_comments",
|
||||
},
|
||||
-- command = {'stubby --output_json call blade:codereview-rpc CodereviewRpcService.GetComments "changelist_number: $(/google/data/ro/teams/fig/bin/vcstool pending-change-number)"'},
|
||||
-- Define your own icon by `vim.fn.sign_define('ICON_NAME', {text = ' '})`.
|
||||
-- See :help sign_define
|
||||
-- The sign property passed to setup should be the 'ICON_NAME' in the define
|
||||
-- example above.
|
||||
sign = "COMMENT_ICON",
|
||||
-- Fetch the comments after calling `setup`.
|
||||
auto_fetch = true,
|
||||
display = {
|
||||
-- The width of the comment display window.
|
||||
width = 50,
|
||||
-- When showing file paths, use relative paths or not.
|
||||
relative_path = true,
|
||||
--- Enable viewing comments through floating window
|
||||
floating = true,
|
||||
--- Options used when creating the floating window.
|
||||
floating_window_options = floating_window_options,
|
||||
},
|
||||
})
|
||||
|
||||
function floating_window_options(parent_win_id)
|
||||
local parent_width = vim.api.nvim_win_get_width(parent_win_id)
|
||||
local parent_height = vim.api.nvim_win_get_height(parent_win_id)
|
||||
local parent_width = vim.api.nvim_win_get_width(parent_win_id)
|
||||
local parent_height = vim.api.nvim_win_get_height(parent_win_id)
|
||||
|
||||
return {
|
||||
relative = 'win',
|
||||
anchor = 'NW',
|
||||
width = math.floor(parent_width * 0.5),
|
||||
height = math.floor(parent_height * 0.3),
|
||||
row = vim.api.nvim_win_get_cursor(parent_win_id)[1],
|
||||
col = math.floor(parent_width * 0.25),
|
||||
border = 'rounded',
|
||||
}
|
||||
return {
|
||||
relative = "win",
|
||||
anchor = "NW",
|
||||
width = math.floor(parent_width * 0.5),
|
||||
height = math.floor(parent_height * 0.3),
|
||||
row = vim.api.nvim_win_get_cursor(parent_win_id)[1],
|
||||
col = math.floor(parent_width * 0.25),
|
||||
border = "rounded",
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
local map = require("utils").map
|
||||
-- here are some mappings you might want:
|
||||
map('n', ']c', [[<Cmd>GoogleCommentsGotoNextComment<CR>]])
|
||||
map('n', '[c', [[<Cmd>GoogleCommentsGotoPrevComment<CR>]])
|
||||
map("n", "]c", [[<Cmd>GoogleCommentsGotoNextComment<CR>]])
|
||||
map("n", "[c", [[<Cmd>GoogleCommentsGotoPrevComment<CR>]])
|
||||
|
||||
map('n', '<Leader>nc', [[<Cmd>GoogleCommentsGotoNextComment<CR>]])
|
||||
map('n', '<Leader>pc', [[<Cmd>GoogleCommentsGotoPrevComment<CR>]])
|
||||
map('n', '<Leader>lc', [[<Cmd>GoogleCommentsToggleLineComments<CR>]])
|
||||
map('n', '<Leader>ac', [[<Cmd>GoogleCommentsToggleAllComments<CR>]])
|
||||
map('n', '<Leader>fc', [[<Cmd>GoogleCommentsFetchComments<CR>]])
|
||||
map("n", "<Leader>nc", [[<Cmd>GoogleCommentsGotoNextComment<CR>]])
|
||||
map("n", "<Leader>pc", [[<Cmd>GoogleCommentsGotoPrevComment<CR>]])
|
||||
map("n", "<Leader>lc", [[<Cmd>GoogleCommentsToggleLineComments<CR>]])
|
||||
map("n", "<Leader>ac", [[<Cmd>GoogleCommentsToggleAllComments<CR>]])
|
||||
map("n", "<Leader>fc", [[<Cmd>GoogleCommentsFetchComments<CR>]])
|
||||
|
||||
vim.fn.sign_define('COMMENT_ICON', {text = ''})
|
||||
vim.fn.sign_define("COMMENT_ICON", { text = "" })
|
||||
|
@ -1,13 +1,13 @@
|
||||
local use_google = require("utils").use_google
|
||||
local log = require("utils").log
|
||||
local notify = require 'notify'
|
||||
local notify = require("notify")
|
||||
|
||||
local lsp_status = require('lsp-status')
|
||||
local lsp_status = require("lsp-status")
|
||||
lsp_status.register_progress()
|
||||
|
||||
require("mason").setup()
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = { "lua_ls", "rust_analyzer" }
|
||||
ensure_installed = { "lua_ls", "rust_analyzer" },
|
||||
})
|
||||
|
||||
-- CiderLSP
|
||||
@ -16,94 +16,119 @@ vim.opt.completeopt = { "menu", "menuone", "noselect" }
|
||||
vim.opt.shortmess:append("c")
|
||||
|
||||
vim.opt.spell = true
|
||||
vim.opt.spelllang = { 'en_us' }
|
||||
vim.opt.spelllang = { "en_us" }
|
||||
|
||||
local lspconfig = require("lspconfig")
|
||||
local configs = require("lspconfig.configs")
|
||||
|
||||
if use_google() then
|
||||
configs.ciderlsp = {
|
||||
default_config = {
|
||||
cmd = { "/google/bin/releases/cider/ciderlsp/ciderlsp", "--tooltag=nvim-cmp", "--forward_sync_responses", "--merge_diagnostic_layers" },
|
||||
filetypes = { "c", "cpp", "java", "kotlin", "objc", "proto", "textproto", "go", "python", "bzl", "typescript"},
|
||||
root_dir = lspconfig.util.root_pattern("BUILD"),
|
||||
-- root_dir = function(fname)
|
||||
-- return string.match(fname, '(/google/src/cloud/[%w_-]+/[%w_-]+/google3/).+$')
|
||||
-- end;
|
||||
settings = {},
|
||||
},
|
||||
}
|
||||
configs.ciderlsp = {
|
||||
default_config = {
|
||||
cmd = { "/google/bin/releases/cider/ciderlsp/ciderlsp", "--tooltag=nvim-cmp", "--forward_sync_responses" },
|
||||
filetypes = {
|
||||
"c",
|
||||
"cpp",
|
||||
"java",
|
||||
"kotlin",
|
||||
"objc",
|
||||
"proto",
|
||||
"textproto",
|
||||
"go",
|
||||
"python",
|
||||
"bzl",
|
||||
"typescript",
|
||||
},
|
||||
root_dir = lspconfig.util.root_pattern("BUILD"),
|
||||
-- root_dir = function(fname)
|
||||
-- return string.match(fname, '(/google/src/cloud/[%w_-]+/[%w_-]+/google3/).+$')
|
||||
-- end;
|
||||
settings = {},
|
||||
},
|
||||
}
|
||||
|
||||
configs.analysislsp = {
|
||||
default_config = {
|
||||
cmd = { '/google/bin/users/lerm/glint-ale/analysis_lsp/server', '--lint_on_save=false', '--max_qps=10' },
|
||||
filetypes = { "c", "cpp", "java", "kotlin", "objc", "proto", "textproto", "go", "python", "bzl", "markdown","typescript", "javascript"},
|
||||
root_dir = lspconfig.util.root_pattern('BUILD'),
|
||||
-- root_dir = function(fname)
|
||||
-- return string.match(fname, '(/google/src/cloud/[%w_-]+/[%w_-]+/google3/).+$')
|
||||
-- end;
|
||||
settings = {},
|
||||
},
|
||||
}
|
||||
configs.analysislsp = {
|
||||
default_config = {
|
||||
cmd = { "/google/bin/users/lerm/glint-ale/analysis_lsp/server", "--lint_on_save=false", "--max_qps=10" },
|
||||
filetypes = {
|
||||
"c",
|
||||
"cpp",
|
||||
"java",
|
||||
"kotlin",
|
||||
"objc",
|
||||
"proto",
|
||||
"textproto",
|
||||
"go",
|
||||
"python",
|
||||
"bzl",
|
||||
"markdown",
|
||||
"typescript",
|
||||
"javascript",
|
||||
},
|
||||
root_dir = lspconfig.util.root_pattern("BUILD"),
|
||||
-- root_dir = function(fname)
|
||||
-- return string.match(fname, '(/google/src/cloud/[%w_-]+/[%w_-]+/google3/).+$')
|
||||
-- end;
|
||||
settings = {},
|
||||
},
|
||||
}
|
||||
end
|
||||
|
||||
-- 3. Set up CiderLSP
|
||||
local on_attach = function(client, bufnr)
|
||||
vim.b['is_cider_lsp_attached'] = 'no'
|
||||
require('lualine').refresh()
|
||||
vim.b["is_cider_lsp_attached"] = "no"
|
||||
require("lualine").refresh()
|
||||
|
||||
vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
|
||||
if vim.lsp.formatexpr then -- Neovim v0.6.0+ only.
|
||||
vim.api.nvim_buf_set_option(bufnr, "formatexpr", "v:lua.vim.lsp.formatexpr")
|
||||
end
|
||||
if vim.lsp.tagfunc then
|
||||
vim.api.nvim_buf_set_option(bufnr, "tagfunc", "v:lua.vim.lsp.tagfunc")
|
||||
end
|
||||
vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
|
||||
if vim.lsp.formatexpr then -- Neovim v0.6.0+ only.
|
||||
vim.api.nvim_buf_set_option(bufnr, "formatexpr", "v:lua.vim.lsp.formatexpr")
|
||||
end
|
||||
if vim.lsp.tagfunc then
|
||||
vim.api.nvim_buf_set_option(bufnr, "tagfunc", "v:lua.vim.lsp.tagfunc")
|
||||
end
|
||||
|
||||
if client.server_capabilities.document_highlight then
|
||||
vim.api.nvim_command("autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight()")
|
||||
vim.api.nvim_command("autocmd CursorHoldI <buffer> lua vim.lsp.buf.document_highlight()")
|
||||
vim.api.nvim_command("autocmd CursorMoved <buffer> lua vim.lsp.util.buf_clear_references()")
|
||||
end
|
||||
if client.server_capabilities.document_highlight then
|
||||
vim.api.nvim_command("autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight()")
|
||||
vim.api.nvim_command("autocmd CursorHoldI <buffer> lua vim.lsp.buf.document_highlight()")
|
||||
vim.api.nvim_command("autocmd CursorMoved <buffer> lua vim.lsp.util.buf_clear_references()")
|
||||
end
|
||||
|
||||
lsp_status.on_attach(client)
|
||||
lsp_status.on_attach(client)
|
||||
|
||||
local opts = { noremap = true, silent = true }
|
||||
vim.api.nvim_set_keymap("n", "<leader>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "<leader>ca", "<cmd>lua vim.lsp.buf.code_action()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "L", "<cmd>lua vim.lsp.buf.hover()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "g0", "<cmd>lua vim.lsp.buf.document_symbol()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "gW", "<cmd>lua vim.lsp.buf.workspace_symbol()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "gD", "<cmd>tab split | lua vim.lsp.buf.definition()<CR>", opts)
|
||||
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "gD", "<cmd>lua vim.lsp.buf.declaration()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "gI", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "gR", "<cmd>lua vim.lsp.buf.references()<CR>", opts) -- diagnostics controls references
|
||||
vim.api.nvim_set_keymap("n", "<C-g>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("i", "<C-g>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
|
||||
local opts = { noremap = true, silent = true }
|
||||
vim.api.nvim_set_keymap("n", "<leader>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "<leader>ca", "<cmd>lua vim.lsp.buf.code_action()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "L", "<cmd>lua vim.lsp.buf.hover()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "g0", "<cmd>lua vim.lsp.buf.document_symbol()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "gW", "<cmd>lua vim.lsp.buf.workspace_symbol()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "gD", "<cmd>tab split | lua vim.lsp.buf.definition()<CR>", opts)
|
||||
-- vim.api.nvim_buf_set_keymap(bufnr, "n", "gD", "<cmd>lua vim.lsp.buf.declaration()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "gI", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "gR", "<cmd>lua vim.lsp.buf.references()<CR>", opts) -- diagnostics controls references
|
||||
vim.api.nvim_set_keymap("n", "<C-g>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("i", "<C-g>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
|
||||
|
||||
vim.api.nvim_set_keymap("n", "gt", "<cmd>lua vim.lsp.buf.type_definition()<CR>", opts)
|
||||
vim.api.nvim_set_keymap("n", "gt", "<cmd>lua vim.lsp.buf.type_definition()<CR>", opts)
|
||||
end
|
||||
|
||||
|
||||
local capabilities = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities())
|
||||
capabilities['codeLens'] = {dynamicRegistration=false}
|
||||
capabilities.textDocument.publishDiagnostics={
|
||||
relatedInformation=true,
|
||||
versionSupport=false,
|
||||
tagSupport={
|
||||
valueSet={
|
||||
1,
|
||||
2
|
||||
}
|
||||
},
|
||||
codeDescriptionSupport=true,
|
||||
dataSupport=true,
|
||||
layeredDiagnostics=true
|
||||
local capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities())
|
||||
capabilities["codeLens"] = { dynamicRegistration = false }
|
||||
capabilities.textDocument.publishDiagnostics = {
|
||||
relatedInformation = true,
|
||||
versionSupport = false,
|
||||
tagSupport = {
|
||||
valueSet = {
|
||||
1,
|
||||
2,
|
||||
},
|
||||
},
|
||||
codeDescriptionSupport = true,
|
||||
dataSupport = true,
|
||||
layeredDiagnostics = true,
|
||||
}
|
||||
|
||||
capabilities = vim.tbl_extend('keep', capabilities or {}, lsp_status.capabilities)
|
||||
capabilities = vim.tbl_extend("keep", capabilities or {}, lsp_status.capabilities)
|
||||
|
||||
local runtime_path = vim.split(package.path, ";")
|
||||
table.insert(runtime_path, "lua/?.lua")
|
||||
@ -114,208 +139,208 @@ lspkind.init()
|
||||
local cmp = require("cmp")
|
||||
|
||||
local has_words_before = function()
|
||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
|
||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
|
||||
end
|
||||
|
||||
local feedkey = function(key, mode)
|
||||
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), mode, true)
|
||||
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), mode, true)
|
||||
end
|
||||
|
||||
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
|
||||
cmp.setup.cmdline({ '/', '?' }, {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = {
|
||||
{ name = 'buffer', max_item_count = 5 }
|
||||
}
|
||||
cmp.setup.cmdline({ "/", "?" }, {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = {
|
||||
{ name = "buffer", max_item_count = 5 },
|
||||
},
|
||||
})
|
||||
|
||||
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
|
||||
cmp.setup.cmdline(':', {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'nvim_lsp_document_symbol' }
|
||||
},{
|
||||
{ name = 'path' }
|
||||
}, {
|
||||
{ name = 'cmdline' }
|
||||
})
|
||||
cmp.setup.cmdline(":", {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = cmp.config.sources({
|
||||
{ name = "nvim_lsp_document_symbol" },
|
||||
}, {
|
||||
{ name = "path" },
|
||||
}, {
|
||||
{ name = "cmdline" },
|
||||
}),
|
||||
})
|
||||
|
||||
local conditionalSources = {
|
||||
{ name = "nvim_lua" },
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = 'nvim_lsp_signature_help', priority = 5 },
|
||||
{ name = "path" },
|
||||
{ name = "treesitter" },
|
||||
{ name = "crates" },
|
||||
{ name = "vim_vsnip" },
|
||||
{ name = "buffer", max_item_count = 5, keyword_length = 5, group_index = 2 },
|
||||
{
|
||||
name = 'spell',
|
||||
option = {
|
||||
keep_all_entries = false,
|
||||
enable_in_context = function()
|
||||
return true
|
||||
end,
|
||||
},
|
||||
},
|
||||
{ name = "nvim_lua" },
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "nvim_lsp_signature_help", priority = 5 },
|
||||
{ name = "path" },
|
||||
{ name = "treesitter" },
|
||||
{ name = "crates" },
|
||||
{ name = "vim_vsnip" },
|
||||
{ name = "buffer", max_item_count = 5, keyword_length = 5, group_index = 2 },
|
||||
{
|
||||
name = "spell",
|
||||
option = {
|
||||
keep_all_entries = false,
|
||||
enable_in_context = function()
|
||||
return true
|
||||
end,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
if use_google() then
|
||||
require('cmp_nvim_ciderlsp').setup()
|
||||
require("cmp_nvim_ciderlsp").setup()
|
||||
|
||||
local cider_lsp_handlers = {
|
||||
["textDocument/publishDiagnostics"] = vim.lsp.with(
|
||||
vim.lsp.diagnostic.on_publish_diagnostics, {
|
||||
underline = true,
|
||||
})
|
||||
}
|
||||
local cider_lsp_handlers = {
|
||||
["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
|
||||
underline = true,
|
||||
}),
|
||||
}
|
||||
|
||||
cider_lsp_handlers["$/syncResponse"] = function(_, result, ctx)
|
||||
-- is_cider_lsp_attached has been setup via on_init, but hasn't received
|
||||
-- sync response yet.
|
||||
local first_fire = vim.b['is_cider_lsp_attached'] == 'no'
|
||||
vim.b['is_cider_lsp_attached'] = 'yes'
|
||||
if first_fire then
|
||||
notify('CiderLSP attached', 'info', {timeout=500})
|
||||
require('lualine').refresh()
|
||||
end
|
||||
end
|
||||
cider_lsp_handlers["$/syncResponse"] = function(_, result, ctx)
|
||||
-- is_cider_lsp_attached has been setup via on_init, but hasn't received
|
||||
-- sync response yet.
|
||||
local first_fire = vim.b["is_cider_lsp_attached"] == "no"
|
||||
vim.b["is_cider_lsp_attached"] = "yes"
|
||||
if first_fire then
|
||||
notify("CiderLSP attached", "info", { timeout = 500 })
|
||||
require("lualine").refresh()
|
||||
end
|
||||
end
|
||||
|
||||
cider_lsp_handlers["workspace/diagnostic/refresh"] = function(_, result, ctx)
|
||||
notify('result:'..result, 'info', {timeout=900})
|
||||
notify('ctx:'..ctx, 'info', {timeout=900})
|
||||
end
|
||||
cider_lsp_handlers["workspace/diagnostic/refresh"] = function(_, result, ctx)
|
||||
notify("result:" .. result, "info", { timeout = 900 })
|
||||
notify("ctx:" .. ctx, "info", { timeout = 900 })
|
||||
end
|
||||
|
||||
cider_lsp_handlers['window/showMessage'] = function(_, result, ctx)
|
||||
local client = vim.lsp.get_client_by_id(ctx.client_id)
|
||||
local lvl = ({
|
||||
'ERROR',
|
||||
'WARN',
|
||||
'INFO',
|
||||
'DEBUG',
|
||||
})[result.type]
|
||||
notify({ result.message }, lvl, {
|
||||
title = 'LSP | ' .. client.name,
|
||||
timeout = 1000,
|
||||
keep = function()
|
||||
return lvl == 'ERROR' or lvl == 'WARN'
|
||||
end,
|
||||
})
|
||||
end
|
||||
cider_lsp_handlers["window/showMessage"] = function(_, result, ctx)
|
||||
local client = vim.lsp.get_client_by_id(ctx.client_id)
|
||||
local lvl = ({
|
||||
"ERROR",
|
||||
"WARN",
|
||||
"INFO",
|
||||
"DEBUG",
|
||||
})[result.type]
|
||||
notify({ result.message }, lvl, {
|
||||
title = "LSP | " .. client.name,
|
||||
timeout = 1000,
|
||||
keep = function()
|
||||
return lvl == "ERROR" or lvl == "WARN"
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
capabilities = require('cmp_nvim_ciderlsp').update_capabilities(capabilities)
|
||||
capabilities.workspace.codeLens = {refreshSupport=true}
|
||||
capabilities.workspace.diagnostics = {refreshSupport=true}
|
||||
lspconfig.ciderlsp.setup({
|
||||
capabilities = capabilities,
|
||||
on_attach = on_attach,
|
||||
handlers = cider_lsp_handlers,
|
||||
})
|
||||
lspconfig.analysislsp.setup({
|
||||
capabilities = capabilities,
|
||||
on_attach = on_attach,
|
||||
})
|
||||
table.insert(conditionalSources, { name = 'nvim_ciderlsp', priority = 9 })
|
||||
table.insert(conditionalSources, { name = 'analysislsp' })
|
||||
capabilities = require("cmp_nvim_ciderlsp").update_capabilities(capabilities)
|
||||
capabilities.workspace.codeLens = { refreshSupport = true }
|
||||
capabilities.workspace.diagnostics = { refreshSupport = true }
|
||||
lspconfig.ciderlsp.setup({
|
||||
capabilities = capabilities,
|
||||
on_attach = on_attach,
|
||||
handlers = cider_lsp_handlers,
|
||||
})
|
||||
lspconfig.analysislsp.setup({
|
||||
capabilities = capabilities,
|
||||
on_attach = on_attach,
|
||||
})
|
||||
table.insert(conditionalSources, { name = "nvim_ciderlsp", priority = 9 })
|
||||
table.insert(conditionalSources, { name = "analysislsp" })
|
||||
else
|
||||
table.insert(conditionalSources, {name = 'cmp_tabnine'})
|
||||
table.insert(conditionalSources, { name = "cmp_tabnine" })
|
||||
end
|
||||
|
||||
cmp.setup({
|
||||
mapping = {
|
||||
["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-u>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-e>"] = cmp.mapping.close(),
|
||||
["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
|
||||
["<C-m>"] = cmp.mapping.confirm({ select = true }),
|
||||
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif vim.fn["vsnip#available"](1) == 1 then
|
||||
feedkey("<Plug>(vsnip-expand-or-jump)", "")
|
||||
elseif has_words_before() then
|
||||
cmp.complete()
|
||||
else
|
||||
fallback() -- The fallback function sends a already mapped key. In this case, it's probably `<Tab>`.
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
mapping = {
|
||||
["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-u>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-e>"] = cmp.mapping.close(),
|
||||
["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
|
||||
["<C-m>"] = cmp.mapping.confirm({ select = true }),
|
||||
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif vim.fn["vsnip#available"](1) == 1 then
|
||||
feedkey("<Plug>(vsnip-expand-or-jump)", "")
|
||||
elseif has_words_before() then
|
||||
cmp.complete()
|
||||
else
|
||||
fallback() -- The fallback function sends a already mapped key. In this case, it's probably `<Tab>`.
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
|
||||
["<S-Tab>"] = cmp.mapping(function()
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif vim.fn["vsnip#jumpable"](-1) == 1 then
|
||||
feedkey("<Plug>(vsnip-jump-prev)", "")
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<S-Tab>"] = cmp.mapping(function()
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif vim.fn["vsnip#jumpable"](-1) == 1 then
|
||||
feedkey("<Plug>(vsnip-jump-prev)", "")
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
|
||||
["<Up>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif vim.fn["vsnip#available"](1) == 1 then
|
||||
feedkey("<Plug>(vsnip-jump-prev)", "")
|
||||
else
|
||||
fallback() -- The fallback function sends a already mapped key. In this case, it's probably `<Tab>`.
|
||||
end
|
||||
end),
|
||||
["<Up>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif vim.fn["vsnip#available"](1) == 1 then
|
||||
feedkey("<Plug>(vsnip-jump-prev)", "")
|
||||
else
|
||||
fallback() -- The fallback function sends a already mapped key. In this case, it's probably `<Tab>`.
|
||||
end
|
||||
end),
|
||||
|
||||
["<Down>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif vim.fn["vsnip#available"](1) == 1 then
|
||||
feedkey("<Plug>(vsnip-expand-or-jump)", "")
|
||||
else
|
||||
fallback() -- The fallback function sends a already mapped key. In this case, it's probably `<Tab>`.
|
||||
end
|
||||
end),
|
||||
},
|
||||
["<Down>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif vim.fn["vsnip#available"](1) == 1 then
|
||||
feedkey("<Plug>(vsnip-expand-or-jump)", "")
|
||||
else
|
||||
fallback() -- The fallback function sends a already mapped key. In this case, it's probably `<Tab>`.
|
||||
end
|
||||
end),
|
||||
},
|
||||
|
||||
sources = conditionalSources,
|
||||
sources = conditionalSources,
|
||||
|
||||
sorting = {
|
||||
comparators = {
|
||||
cmp.config.compare.offset,
|
||||
cmp.config.compare.exact,
|
||||
cmp.config.compare.score,
|
||||
require("cmp-under-comparator").under,
|
||||
cmp.config.compare.kind,
|
||||
cmp.config.compare.sort_text,
|
||||
cmp.config.compare.length,
|
||||
cmp.config.compare.order,
|
||||
},
|
||||
},
|
||||
|
||||
sorting = {
|
||||
comparators = {
|
||||
cmp.config.compare.offset,
|
||||
cmp.config.compare.exact,
|
||||
cmp.config.compare.score,
|
||||
require "cmp-under-comparator".under,
|
||||
cmp.config.compare.kind,
|
||||
cmp.config.compare.sort_text,
|
||||
cmp.config.compare.length,
|
||||
cmp.config.compare.order,
|
||||
},
|
||||
},
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
vim.fn["vsnip#anonymous"](args.body)
|
||||
end,
|
||||
},
|
||||
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
vim.fn["vsnip#anonymous"](args.body)
|
||||
end,
|
||||
},
|
||||
formatting = {
|
||||
format = lspkind.cmp_format({
|
||||
with_text = true,
|
||||
maxwidth = 40, -- half max width
|
||||
menu = {
|
||||
nvim_ciderlsp = "",
|
||||
buffer = "",
|
||||
crates = "📦",
|
||||
nvim_lsp = "[CiderLSP]",
|
||||
cmp_tabnine = "[TabNine]",
|
||||
nvim_lua = "[API]",
|
||||
path = "[path]",
|
||||
tmux = "[TMUX]",
|
||||
vim_vsnip = "[snip]",
|
||||
},
|
||||
}),
|
||||
},
|
||||
|
||||
formatting = {
|
||||
format = lspkind.cmp_format({
|
||||
with_text = true,
|
||||
maxwidth = 40, -- half max width
|
||||
menu = {
|
||||
nvim_ciderlsp = "",
|
||||
buffer = "",
|
||||
crates = "📦",
|
||||
nvim_lsp = "[CiderLSP]",
|
||||
cmp_tabnine = "[TabNine]",
|
||||
nvim_lua = "[API]",
|
||||
path = "[path]",
|
||||
tmux = "[TMUX]",
|
||||
vim_vsnip = "[snip]",
|
||||
},
|
||||
}),
|
||||
},
|
||||
|
||||
experimental = {
|
||||
native_menu = false,
|
||||
ghost_text = true,
|
||||
},
|
||||
experimental = {
|
||||
native_menu = false,
|
||||
ghost_text = true,
|
||||
},
|
||||
})
|
||||
|
||||
vim.cmd([[ augroup CmpZsh au! autocmd Filetype zsh lua require'cmp'.setup.buffer { sources = { { name = "zsh" }, } } augroup END ]])
|
||||
vim.cmd(
|
||||
[[ augroup CmpZsh au! autocmd Filetype zsh lua require'cmp'.setup.buffer { sources = { { name = "zsh" }, } } augroup END ]]
|
||||
)
|
||||
|
@ -1,92 +1,100 @@
|
||||
local split = function (inputstr, sep)
|
||||
local t={}
|
||||
for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
|
||||
table.insert(t, str)
|
||||
end
|
||||
return t
|
||||
local split = function(inputstr, sep)
|
||||
local t = {}
|
||||
for str in string.gmatch(inputstr, "([^" .. sep .. "]+)") do
|
||||
table.insert(t, str)
|
||||
end
|
||||
return t
|
||||
end
|
||||
local function getCitc()
|
||||
local fname = vim.api.nvim_buf_get_name(0)
|
||||
if string.find(fname, '/google/src/cloud/', 1, true) then
|
||||
local parts = split(fname, '/')
|
||||
return parts[5]
|
||||
end
|
||||
local fname = vim.api.nvim_buf_get_name(0)
|
||||
if string.find(fname, "/google/src/cloud/", 1, true) then
|
||||
local parts = split(fname, "/")
|
||||
return parts[5]
|
||||
end
|
||||
end
|
||||
local function isCiderLspAttached()
|
||||
if vim.b['is_cider_lsp_attached'] then
|
||||
if vim.b['is_cider_lsp_attached'] == 'yes' then
|
||||
return '✓'
|
||||
else
|
||||
return 'x'
|
||||
end
|
||||
else
|
||||
return ''
|
||||
end
|
||||
if vim.b["is_cider_lsp_attached"] then
|
||||
if vim.b["is_cider_lsp_attached"] == "yes" then
|
||||
return "✓"
|
||||
else
|
||||
return "x"
|
||||
end
|
||||
else
|
||||
return ""
|
||||
end
|
||||
end
|
||||
|
||||
local function getLightbulb()
|
||||
return require('nvim-lightbulb').get_status_text()
|
||||
return require("nvim-lightbulb").get_status_text()
|
||||
end
|
||||
|
||||
local function getLGTMs()
|
||||
local comments = require("google.comments")
|
||||
local tracker = require("google.comments.tracker")
|
||||
local dump = require("utils").dump
|
||||
local comments = require("google.comments")
|
||||
local tracker = require("google.comments.tracker")
|
||||
local dump = require("utils").dump
|
||||
|
||||
print(dump(tracker.get_all_comments()))
|
||||
local lgtm = comments.get_lgtms()
|
||||
local appr = comments.get_approvals()
|
||||
print("lgtms"..dump(lgtm))
|
||||
print("approvals"..dump(appr))
|
||||
return "LGTM:"..table.concat(lgtm, ",").." Approval:"..table.concat(appr, ",")
|
||||
print(dump(tracker.get_all_comments()))
|
||||
local lgtm = comments.get_lgtms()
|
||||
local appr = comments.get_approvals()
|
||||
print("lgtms" .. dump(lgtm))
|
||||
print("approvals" .. dump(appr))
|
||||
return "LGTM:" .. table.concat(lgtm, ",") .. " Approval:" .. table.concat(appr, ",")
|
||||
end
|
||||
|
||||
local lsp_status = require('lsp-status')
|
||||
local lsp_status = require("lsp-status")
|
||||
|
||||
require('lualine').setup {
|
||||
options = {
|
||||
theme = 'auto',
|
||||
globalstatus = false,
|
||||
refresh = {
|
||||
statusline = 1000,
|
||||
tabline = 1000,
|
||||
winbar = 1000,
|
||||
}
|
||||
},
|
||||
sections = {
|
||||
lualine_a = {'mode'},
|
||||
lualine_b = {'branch', 'diff', getCitc, isCiderLspAttached},
|
||||
lualine_c = {getLightbulb, 'filename'},
|
||||
lualine_x = {
|
||||
{ 'diagnostics', sources = {"nvim_lsp"}, symbols = {error = ' ', warn = ' ', info = ' ', hint = ' '} },
|
||||
'encoding',
|
||||
'filetype'
|
||||
},
|
||||
lualine_y = {'searchcount'},
|
||||
lualine_z = {'location'}
|
||||
},
|
||||
tabline = {
|
||||
lualine_a = {
|
||||
{
|
||||
'tabs',
|
||||
mode = 1,
|
||||
max_length = (vim.o.columns / 5) * 4,
|
||||
fmt = function(name, context)
|
||||
-- Show + if buffer is modified in tab
|
||||
local buflist = vim.fn.tabpagebuflist(context.tabnr)
|
||||
local winnr = vim.fn.tabpagewinnr(context.tabnr)
|
||||
local bufnr = buflist[winnr]
|
||||
local mod = vim.fn.getbufvar(bufnr, '&mod')
|
||||
require("lualine").setup({
|
||||
options = {
|
||||
theme = "auto",
|
||||
globalstatus = false,
|
||||
refresh = {
|
||||
statusline = 1000,
|
||||
tabline = 1000,
|
||||
winbar = 1000,
|
||||
},
|
||||
},
|
||||
sections = {
|
||||
lualine_a = { "mode" },
|
||||
lualine_b = { "branch", "diff", getCitc, isCiderLspAttached },
|
||||
lualine_c = { getLightbulb, "filename" },
|
||||
lualine_x = {
|
||||
{
|
||||
"diagnostics",
|
||||
sources = { "nvim_lsp" },
|
||||
symbols = { error = " ", warn = " ", info = " ", hint = " " },
|
||||
},
|
||||
"encoding",
|
||||
"filetype",
|
||||
},
|
||||
lualine_y = { "searchcount" },
|
||||
lualine_z = { "location" },
|
||||
},
|
||||
tabline = {
|
||||
lualine_a = {
|
||||
{
|
||||
"tabs",
|
||||
mode = 1,
|
||||
max_length = (vim.o.columns / 5) * 4,
|
||||
fmt = function(name, context)
|
||||
-- Show + if buffer is modified in tab
|
||||
local buflist = vim.fn.tabpagebuflist(context.tabnr)
|
||||
local winnr = vim.fn.tabpagewinnr(context.tabnr)
|
||||
local bufnr = buflist[winnr]
|
||||
local mod = vim.fn.getbufvar(bufnr, "&mod")
|
||||
|
||||
return name .. (mod == 1 and ' +' or '')
|
||||
end
|
||||
},
|
||||
},
|
||||
lualine_b = {'branch'},
|
||||
lualine_c = {'filename'},
|
||||
lualine_c = {
|
||||
{ 'diagnostics', sources = {"nvim_lsp", "nvim_workspace_diagnostic"}, symbols = {error = ' ', warn = ' ', info = ' ', hint = ' '} },
|
||||
},
|
||||
-- lualine_y = { getLGTMs }
|
||||
},
|
||||
}
|
||||
return name .. (mod == 1 and " +" or "")
|
||||
end,
|
||||
},
|
||||
},
|
||||
lualine_b = { "branch" },
|
||||
lualine_c = { "filename" },
|
||||
lualine_c = {
|
||||
{
|
||||
"diagnostics",
|
||||
sources = { "nvim_lsp", "nvim_workspace_diagnostic" },
|
||||
symbols = { error = " ", warn = " ", info = " ", hint = " " },
|
||||
},
|
||||
},
|
||||
-- lualine_y = { getLGTMs }
|
||||
},
|
||||
})
|
||||
|
@ -1,7 +1,6 @@
|
||||
local map = require("utils").map
|
||||
require("neo-tree").setup({
|
||||
hijack_netrw_behavior = "open_current"
|
||||
hijack_netrw_behavior = "open_current",
|
||||
})
|
||||
|
||||
|
||||
map('n', '<C-n>', ':Neotree filesystem reveal toggle reveal_force_cwd<cr>')
|
||||
map("n", "<C-n>", ":Neotree filesystem reveal toggle reveal_force_cwd<cr>")
|
||||
|
@ -9,7 +9,7 @@ vim.g.NERDSpaceDelims = 1
|
||||
vim.g.NERDCompactSexyComs = 1
|
||||
|
||||
-- Align line-wise comment delimiters flush left instead of following code indentation
|
||||
vim.g.NERDDefaultAlign = 'left'
|
||||
vim.g.NERDDefaultAlign = "left"
|
||||
|
||||
-- Set a language to use its alternate delimiters by default
|
||||
vim.g.NERDAltDelims_java = 1
|
||||
|
@ -1,4 +1,4 @@
|
||||
local map = require("utils").map
|
||||
|
||||
map('n', '<C-n>', ':NERDTreeToggle<cr>')
|
||||
map('n', '<C-f>', ':NERDTreeFind<cr>')
|
||||
map("n", "<C-n>", ":NERDTreeToggle<cr>")
|
||||
map("n", "<C-f>", ":NERDTreeFind<cr>")
|
||||
|
@ -1,25 +1,23 @@
|
||||
local null_ls = require("null-ls")
|
||||
|
||||
local sources = {
|
||||
-- Catch insensitive, inconsiderate writing.
|
||||
null_ls.builtins.diagnostics.alex,
|
||||
-- Catch insensitive, inconsiderate writing.
|
||||
null_ls.builtins.diagnostics.alex,
|
||||
|
||||
-- buildifier is a tool for formatting and linting bazel BUILD, WORKSPACE, and .bzl files.
|
||||
null_ls.builtins.diagnostics.buildifier,
|
||||
-- buildifier is a tool for formatting and linting bazel BUILD, WORKSPACE, and .bzl files.
|
||||
null_ls.builtins.diagnostics.buildifier,
|
||||
|
||||
-- Codespell finds common misspellings in text files.
|
||||
-- null_ls.builtins.diagnostics.codespell,
|
||||
-- null_ls.builtins.diagnostics.cspell, null_ls.builtins.code_actions.cspell,
|
||||
-- Codespell finds common misspellings in text files.
|
||||
-- null_ls.builtins.diagnostics.codespell,
|
||||
-- null_ls.builtins.diagnostics.cspell, null_ls.builtins.code_actions.cspell,
|
||||
|
||||
-- An English prose linter. Can fix some issues via code actions.
|
||||
null_ls.builtins.code_actions.proselint,
|
||||
|
||||
-- Reformats Java source code according to Google Java Style.
|
||||
null_ls.builtins.formatting.google_java_format
|
||||
-- An English prose linter. Can fix some issues via code actions.
|
||||
null_ls.builtins.code_actions.proselint,
|
||||
|
||||
-- Reformats Java source code according to Google Java Style.
|
||||
null_ls.builtins.formatting.google_java_format,
|
||||
}
|
||||
|
||||
|
||||
null_ls.setup({
|
||||
sources = sources,
|
||||
sources = sources,
|
||||
})
|
||||
|
@ -3,72 +3,72 @@ local map = require("utils").map
|
||||
local api = require("nvim-tree.api")
|
||||
|
||||
local function opts(desc)
|
||||
return { desc = 'nvim-tree: ' .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
|
||||
return { desc = "nvim-tree: " .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
|
||||
end
|
||||
|
||||
function on_attach(bufnr)
|
||||
vim.keymap.set('n', 'O', api.tree.change_root_to_node, opts('CD'))
|
||||
vim.keymap.set('n', '?', api.tree.toggle_help, opts('Help'))
|
||||
vim.keymap.set("n", "O", api.tree.change_root_to_node, opts("CD"))
|
||||
vim.keymap.set("n", "?", api.tree.toggle_help, opts("Help"))
|
||||
|
||||
-- put some default mappings here
|
||||
vim.keymap.set('n', '<C-e>', api.node.open.replace_tree_buffer, opts('Open: In Place'))
|
||||
vim.keymap.set('n', '<C-k>', api.node.show_info_popup, opts('Info'))
|
||||
vim.keymap.set('n', '<C-r>', api.fs.rename_sub, opts('Rename: Omit Filename'))
|
||||
vim.keymap.set('n', '<C-t>', api.node.open.tab, opts('Open: New Tab'))
|
||||
vim.keymap.set('n', '<C-v>', api.node.open.vertical, opts('Open: Vertical Split'))
|
||||
vim.keymap.set('n', '<C-x>', api.node.open.horizontal, opts('Open: Horizontal Split'))
|
||||
vim.keymap.set('n', '<BS>', api.node.navigate.parent_close, opts('Close Directory'))
|
||||
vim.keymap.set('n', '<CR>', api.node.open.edit, opts('Open'))
|
||||
vim.keymap.set('n', '<Tab>', api.node.open.preview, opts('Open Preview'))
|
||||
vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling'))
|
||||
vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling'))
|
||||
vim.keymap.set('n', '.', api.node.run.cmd, opts('Run Command'))
|
||||
vim.keymap.set('n', '-', api.tree.change_root_to_parent, opts('Up'))
|
||||
vim.keymap.set('n', 'a', api.fs.create, opts('Create'))
|
||||
vim.keymap.set('n', 'bmv', api.marks.bulk.move, opts('Move Bookmarked'))
|
||||
vim.keymap.set('n', 'B', api.tree.toggle_no_buffer_filter, opts('Toggle No Buffer'))
|
||||
vim.keymap.set('n', 'c', api.fs.copy.node, opts('Copy'))
|
||||
-- vim.keymap.set('n', 'C', api.tree.toggle_git_clean_filter, opts('Toggle Git Clean'))
|
||||
-- vim.keymap.set('n', '[c', api.node.navigate.git.prev, opts('Prev Git'))
|
||||
-- vim.keymap.set('n', ']c', api.node.navigate.git.next, opts('Next Git'))
|
||||
vim.keymap.set('n', 'd', api.fs.remove, opts('Delete'))
|
||||
vim.keymap.set('n', 'D', api.fs.trash, opts('Trash'))
|
||||
vim.keymap.set('n', 'E', api.tree.expand_all, opts('Expand All'))
|
||||
vim.keymap.set('n', 'e', api.fs.rename_basename, opts('Rename: Basename'))
|
||||
vim.keymap.set('n', ']e', api.node.navigate.diagnostics.next, opts('Next Diagnostic'))
|
||||
vim.keymap.set('n', '[e', api.node.navigate.diagnostics.prev, opts('Prev Diagnostic'))
|
||||
vim.keymap.set('n', 'F', api.live_filter.clear, opts('Clean Filter'))
|
||||
vim.keymap.set('n', 'f', api.live_filter.start, opts('Filter'))
|
||||
vim.keymap.set('n', 'g?', api.tree.toggle_help, opts('Help'))
|
||||
vim.keymap.set('n', 'gy', api.fs.copy.absolute_path, opts('Copy Absolute Path'))
|
||||
vim.keymap.set('n', 'H', api.tree.toggle_hidden_filter, opts('Toggle Dotfiles'))
|
||||
vim.keymap.set('n', 'I', api.tree.toggle_gitignore_filter, opts('Toggle Git Ignore'))
|
||||
vim.keymap.set('n', 'J', api.node.navigate.sibling.last, opts('Last Sibling'))
|
||||
vim.keymap.set('n', 'K', api.node.navigate.sibling.first, opts('First Sibling'))
|
||||
vim.keymap.set('n', 'm', api.marks.toggle, opts('Toggle Bookmark'))
|
||||
vim.keymap.set('n', 'o', api.node.open.edit, opts('Open'))
|
||||
-- vim.keymap.set('n', 'O', api.node.open.no_window_picker, opts('Open: No Window Picker'))
|
||||
vim.keymap.set('n', 'p', api.fs.paste, opts('Paste'))
|
||||
vim.keymap.set('n', 'P', api.node.navigate.parent, opts('Parent Directory'))
|
||||
vim.keymap.set('n', 'q', api.tree.close, opts('Close'))
|
||||
vim.keymap.set('n', 'r', api.fs.rename, opts('Rename'))
|
||||
vim.keymap.set('n', 'R', api.tree.reload, opts('Refresh'))
|
||||
vim.keymap.set('n', 's', api.node.run.system, opts('Run System'))
|
||||
vim.keymap.set('n', 'S', api.tree.search_node, opts('Search'))
|
||||
vim.keymap.set('n', 'U', api.tree.toggle_custom_filter, opts('Toggle Hidden'))
|
||||
vim.keymap.set('n', 'W', api.tree.collapse_all, opts('Collapse'))
|
||||
vim.keymap.set('n', 'x', api.fs.cut, opts('Cut'))
|
||||
vim.keymap.set('n', 'y', api.fs.copy.filename, opts('Copy Name'))
|
||||
vim.keymap.set('n', 'Y', api.fs.copy.relative_path, opts('Copy Relative Path'))
|
||||
-- put some default mappings here
|
||||
vim.keymap.set("n", "<C-e>", api.node.open.replace_tree_buffer, opts("Open: In Place"))
|
||||
vim.keymap.set("n", "<C-k>", api.node.show_info_popup, opts("Info"))
|
||||
vim.keymap.set("n", "<C-r>", api.fs.rename_sub, opts("Rename: Omit Filename"))
|
||||
vim.keymap.set("n", "<C-t>", api.node.open.tab, opts("Open: New Tab"))
|
||||
vim.keymap.set("n", "<C-v>", api.node.open.vertical, opts("Open: Vertical Split"))
|
||||
vim.keymap.set("n", "<C-x>", api.node.open.horizontal, opts("Open: Horizontal Split"))
|
||||
vim.keymap.set("n", "<BS>", api.node.navigate.parent_close, opts("Close Directory"))
|
||||
vim.keymap.set("n", "<CR>", api.node.open.edit, opts("Open"))
|
||||
vim.keymap.set("n", "<Tab>", api.node.open.preview, opts("Open Preview"))
|
||||
vim.keymap.set("n", ">", api.node.navigate.sibling.next, opts("Next Sibling"))
|
||||
vim.keymap.set("n", "<", api.node.navigate.sibling.prev, opts("Previous Sibling"))
|
||||
vim.keymap.set("n", ".", api.node.run.cmd, opts("Run Command"))
|
||||
vim.keymap.set("n", "-", api.tree.change_root_to_parent, opts("Up"))
|
||||
vim.keymap.set("n", "a", api.fs.create, opts("Create"))
|
||||
vim.keymap.set("n", "bmv", api.marks.bulk.move, opts("Move Bookmarked"))
|
||||
vim.keymap.set("n", "B", api.tree.toggle_no_buffer_filter, opts("Toggle No Buffer"))
|
||||
vim.keymap.set("n", "c", api.fs.copy.node, opts("Copy"))
|
||||
-- vim.keymap.set('n', 'C', api.tree.toggle_git_clean_filter, opts('Toggle Git Clean'))
|
||||
-- vim.keymap.set('n', '[c', api.node.navigate.git.prev, opts('Prev Git'))
|
||||
-- vim.keymap.set('n', ']c', api.node.navigate.git.next, opts('Next Git'))
|
||||
vim.keymap.set("n", "d", api.fs.remove, opts("Delete"))
|
||||
vim.keymap.set("n", "D", api.fs.trash, opts("Trash"))
|
||||
vim.keymap.set("n", "E", api.tree.expand_all, opts("Expand All"))
|
||||
vim.keymap.set("n", "e", api.fs.rename_basename, opts("Rename: Basename"))
|
||||
vim.keymap.set("n", "]e", api.node.navigate.diagnostics.next, opts("Next Diagnostic"))
|
||||
vim.keymap.set("n", "[e", api.node.navigate.diagnostics.prev, opts("Prev Diagnostic"))
|
||||
vim.keymap.set("n", "F", api.live_filter.clear, opts("Clean Filter"))
|
||||
vim.keymap.set("n", "f", api.live_filter.start, opts("Filter"))
|
||||
vim.keymap.set("n", "g?", api.tree.toggle_help, opts("Help"))
|
||||
vim.keymap.set("n", "gy", api.fs.copy.absolute_path, opts("Copy Absolute Path"))
|
||||
vim.keymap.set("n", "H", api.tree.toggle_hidden_filter, opts("Toggle Dotfiles"))
|
||||
vim.keymap.set("n", "I", api.tree.toggle_gitignore_filter, opts("Toggle Git Ignore"))
|
||||
vim.keymap.set("n", "J", api.node.navigate.sibling.last, opts("Last Sibling"))
|
||||
vim.keymap.set("n", "K", api.node.navigate.sibling.first, opts("First Sibling"))
|
||||
vim.keymap.set("n", "m", api.marks.toggle, opts("Toggle Bookmark"))
|
||||
vim.keymap.set("n", "o", api.node.open.edit, opts("Open"))
|
||||
-- vim.keymap.set('n', 'O', api.node.open.no_window_picker, opts('Open: No Window Picker'))
|
||||
vim.keymap.set("n", "p", api.fs.paste, opts("Paste"))
|
||||
vim.keymap.set("n", "P", api.node.navigate.parent, opts("Parent Directory"))
|
||||
vim.keymap.set("n", "q", api.tree.close, opts("Close"))
|
||||
vim.keymap.set("n", "r", api.fs.rename, opts("Rename"))
|
||||
vim.keymap.set("n", "R", api.tree.reload, opts("Refresh"))
|
||||
vim.keymap.set("n", "s", api.node.run.system, opts("Run System"))
|
||||
vim.keymap.set("n", "S", api.tree.search_node, opts("Search"))
|
||||
vim.keymap.set("n", "U", api.tree.toggle_custom_filter, opts("Toggle Hidden"))
|
||||
vim.keymap.set("n", "W", api.tree.collapse_all, opts("Collapse"))
|
||||
vim.keymap.set("n", "x", api.fs.cut, opts("Cut"))
|
||||
vim.keymap.set("n", "y", api.fs.copy.filename, opts("Copy Name"))
|
||||
vim.keymap.set("n", "Y", api.fs.copy.relative_path, opts("Copy Relative Path"))
|
||||
end
|
||||
|
||||
require("nvim-tree").setup({
|
||||
on_attach = on_attach,
|
||||
update_focused_file = {
|
||||
enable = true,
|
||||
update_root = false,
|
||||
ignore_list = {},
|
||||
},
|
||||
on_attach = on_attach,
|
||||
update_focused_file = {
|
||||
enable = true,
|
||||
update_root = false,
|
||||
ignore_list = {},
|
||||
},
|
||||
})
|
||||
|
||||
map("n", "<C-T>", ":NvimTreeToggle<CR>")
|
||||
|
@ -1,28 +1,28 @@
|
||||
require('nvim-treesitter.configs').setup {
|
||||
-- A list of parser names, or "all"
|
||||
-- ensure_installed = { "c", "lua", "vim", "java", "kotlin"},
|
||||
ensure_installed = "all",
|
||||
require("nvim-treesitter.configs").setup({
|
||||
-- A list of parser names, or "all"
|
||||
-- ensure_installed = { "c", "lua", "vim", "java", "kotlin"},
|
||||
ensure_installed = "all",
|
||||
|
||||
-- Install parsers synchronously (only applied to `ensure_installed`)
|
||||
sync_install = false,
|
||||
-- Install parsers synchronously (only applied to `ensure_installed`)
|
||||
sync_install = false,
|
||||
|
||||
highlight = {
|
||||
-- `false` will disable the whole extension
|
||||
enable = true,
|
||||
indent = {
|
||||
enable = true
|
||||
},
|
||||
-- disable = {"java"},
|
||||
--
|
||||
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
|
||||
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
|
||||
-- Using this option may slow down your editor, and you may see some duplicate highlights.
|
||||
-- Instead of true it can also be a list of languages
|
||||
-- additional_vim_regex_highlighting = true,
|
||||
additional_vim_regex_highlighting = {"java"},
|
||||
},
|
||||
-- rainbow = {
|
||||
-- enable = true,
|
||||
-- extended_mode = true,
|
||||
-- }
|
||||
}
|
||||
highlight = {
|
||||
-- `false` will disable the whole extension
|
||||
enable = true,
|
||||
indent = {
|
||||
enable = true,
|
||||
},
|
||||
-- disable = {"java"},
|
||||
--
|
||||
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
|
||||
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
|
||||
-- Using this option may slow down your editor, and you may see some duplicate highlights.
|
||||
-- Instead of true it can also be a list of languages
|
||||
-- additional_vim_regex_highlighting = true,
|
||||
additional_vim_regex_highlighting = { "java" },
|
||||
},
|
||||
-- rainbow = {
|
||||
-- enable = true,
|
||||
-- extended_mode = true,
|
||||
-- }
|
||||
})
|
||||
|
@ -1,2 +1,2 @@
|
||||
vim.keymap.set('n', '<leader>y', require('osc52').copy_operator, {expr = true})
|
||||
vim.keymap.set('v', '<leader>y', require('osc52').copy_visual)
|
||||
vim.keymap.set("n", "<leader>y", require("osc52").copy_operator, { expr = true })
|
||||
vim.keymap.set("v", "<leader>y", require("osc52").copy_visual)
|
||||
|
@ -1,4 +1,4 @@
|
||||
require('refactoring').setup({})
|
||||
require("refactoring").setup({})
|
||||
|
||||
-- load refactoring Telescope extension
|
||||
require("telescope").load_extension("refactoring")
|
||||
@ -12,15 +12,55 @@ vim.api.nvim_set_keymap(
|
||||
)
|
||||
|
||||
-- Remaps for the refactoring operations currently offered by the plugin
|
||||
vim.api.nvim_set_keymap("v", "<leader>rx", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function')<CR>]], {noremap = true, silent = true, expr = false})
|
||||
vim.api.nvim_set_keymap("v", "<leader>rxf", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function To File')<CR>]], {noremap = true, silent = true, expr = false})
|
||||
vim.api.nvim_set_keymap("v", "<leader>rxv", [[ <Esc><Cmd>lua require('refactoring').refactor('Extract Variable')<CR>]], {noremap = true, silent = true, expr = false})
|
||||
vim.api.nvim_set_keymap("v", "<leader>ri", [[ <Esc><Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]], {noremap = true, silent = true, expr = false})
|
||||
vim.api.nvim_set_keymap(
|
||||
"v",
|
||||
"<leader>rx",
|
||||
[[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function')<CR>]],
|
||||
{ noremap = true, silent = true, expr = false }
|
||||
)
|
||||
vim.api.nvim_set_keymap(
|
||||
"v",
|
||||
"<leader>rxf",
|
||||
[[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function To File')<CR>]],
|
||||
{ noremap = true, silent = true, expr = false }
|
||||
)
|
||||
vim.api.nvim_set_keymap(
|
||||
"v",
|
||||
"<leader>rxv",
|
||||
[[ <Esc><Cmd>lua require('refactoring').refactor('Extract Variable')<CR>]],
|
||||
{ noremap = true, silent = true, expr = false }
|
||||
)
|
||||
vim.api.nvim_set_keymap(
|
||||
"v",
|
||||
"<leader>ri",
|
||||
[[ <Esc><Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]],
|
||||
{ noremap = true, silent = true, expr = false }
|
||||
)
|
||||
|
||||
-- Extract block doesn't need visual mode
|
||||
vim.api.nvim_set_keymap("n", "<leader>rxb", [[ <Cmd>lua require('refactoring').refactor('Extract Block')<CR>]], {noremap = true, silent = true, expr = false})
|
||||
vim.api.nvim_set_keymap("n", "<leader>rxbf", [[ <Cmd>lua require('refactoring').refactor('Extract Block To File')<CR>]], {noremap = true, silent = true, expr = false})
|
||||
vim.api.nvim_set_keymap(
|
||||
"n",
|
||||
"<leader>rxb",
|
||||
[[ <Cmd>lua require('refactoring').refactor('Extract Block')<CR>]],
|
||||
{ noremap = true, silent = true, expr = false }
|
||||
)
|
||||
vim.api.nvim_set_keymap(
|
||||
"n",
|
||||
"<leader>rxbf",
|
||||
[[ <Cmd>lua require('refactoring').refactor('Extract Block To File')<CR>]],
|
||||
{ noremap = true, silent = true, expr = false }
|
||||
)
|
||||
|
||||
-- Inline variable can also pick up the identifier currently under the cursor without visual mode
|
||||
vim.api.nvim_set_keymap("n", "<leader>ri", [[ <Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]], {noremap = true, silent = true, expr = false})
|
||||
vim.api.nvim_set_keymap("n", "<leader>rx", [[ <Cmd>lua require('refactoring').refactor('Extract Variable')<CR>]], {noremap = true, silent = true, expr = false})
|
||||
vim.api.nvim_set_keymap(
|
||||
"n",
|
||||
"<leader>ri",
|
||||
[[ <Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]],
|
||||
{ noremap = true, silent = true, expr = false }
|
||||
)
|
||||
vim.api.nvim_set_keymap(
|
||||
"n",
|
||||
"<leader>rx",
|
||||
[[ <Cmd>lua require('refactoring').refactor('Extract Variable')<CR>]],
|
||||
{ noremap = true, silent = true, expr = false }
|
||||
)
|
||||
|
@ -1,8 +0,0 @@
|
||||
local map = require("utils").map
|
||||
|
||||
-- vim.g.signify_vcs_cmds = {
|
||||
-- hg = 'hg cat %f -r p4base',
|
||||
-- }
|
||||
|
||||
map('n', ']d', '<plug>(signify-next-hunk)')
|
||||
map('n', '[d', '<plug>(signify-prev-hunk)')
|
@ -1,23 +1,21 @@
|
||||
require("symbols-outline").setup(
|
||||
{
|
||||
show_relative_numbers = true,
|
||||
keymaps = { -- These keymaps can be a string or a table for multiple keys
|
||||
-- close = {"<Esc>", "q"},
|
||||
goto_location = "<Cr>",
|
||||
-- focus_location = "o",
|
||||
hover_symbol = "<C-space>",
|
||||
toggle_preview = "L",
|
||||
-- rename_symbol = "r",
|
||||
-- code_actions = "a",
|
||||
-- fold = "h",
|
||||
-- unfold = "l",
|
||||
fold_all = "H",
|
||||
unfold_all = "L",
|
||||
fold_reset = "R",
|
||||
},
|
||||
}
|
||||
)
|
||||
require("symbols-outline").setup({
|
||||
show_relative_numbers = true,
|
||||
keymaps = { -- These keymaps can be a string or a table for multiple keys
|
||||
-- close = {"<Esc>", "q"},
|
||||
goto_location = "<Cr>",
|
||||
-- focus_location = "o",
|
||||
hover_symbol = "<C-space>",
|
||||
toggle_preview = "L",
|
||||
-- rename_symbol = "r",
|
||||
-- code_actions = "a",
|
||||
-- fold = "h",
|
||||
-- unfold = "l",
|
||||
fold_all = "H",
|
||||
unfold_all = "L",
|
||||
fold_reset = "R",
|
||||
},
|
||||
})
|
||||
|
||||
local map = require("utils").map
|
||||
|
||||
map('n', '<leader>so', ':SymbolsOutline<cr>')
|
||||
map("n", "<leader>so", ":SymbolsOutline<cr>")
|
||||
|
@ -1,7 +1,7 @@
|
||||
local home = vim.fn.expand("~/zettelkasten")
|
||||
|
||||
require('telekasten').setup({
|
||||
home = home,
|
||||
require("telekasten").setup({
|
||||
home = home,
|
||||
})
|
||||
|
||||
vim.cmd([[
|
||||
|
@ -1,20 +1,20 @@
|
||||
vim.diagnostic.config({
|
||||
virtual_lines = true,
|
||||
virtual_text = false,
|
||||
severity_sort = true,
|
||||
virtual_lines = true,
|
||||
virtual_text = false,
|
||||
severity_sort = true,
|
||||
})
|
||||
|
||||
-- Diagnostics
|
||||
require("trouble").setup({
|
||||
signs = {
|
||||
-- icons / text used for a diagnostic
|
||||
error = ' ',
|
||||
warning = ' ',
|
||||
hint = ' ',
|
||||
information = ' ',
|
||||
other = "?",
|
||||
},
|
||||
use_diagnostic_signs = false, -- enabling this will use the signs defined in your lsp client
|
||||
signs = {
|
||||
-- icons / text used for a diagnostic
|
||||
error = " ",
|
||||
warning = " ",
|
||||
hint = " ",
|
||||
information = " ",
|
||||
other = "?",
|
||||
},
|
||||
use_diagnostic_signs = false, -- enabling this will use the signs defined in your lsp client
|
||||
})
|
||||
|
||||
-- Mappings
|
||||
|
@ -1,5 +1,5 @@
|
||||
require("which-key").setup {
|
||||
-- your configuration comes here
|
||||
-- or leave it empty to use the default settings
|
||||
-- refer to the configuration section below
|
||||
}
|
||||
require("which-key").setup({
|
||||
-- your configuration comes here
|
||||
-- or leave it empty to use the default settings
|
||||
-- refer to the configuration section below
|
||||
})
|
||||
|
Reference in New Issue
Block a user