Increase godot LS debounce and reformat lua files
parent
fabad863a1
commit
0d2cd042d9
|
@ -1,4 +1,4 @@
|
||||||
require('lsp.jdtls_setup').setup()
|
require("lsp.jdtls_setup").setup()
|
||||||
|
|
||||||
vim.opt.shiftwidth = 4
|
vim.opt.shiftwidth = 4
|
||||||
vim.opt.tabstop = 4
|
vim.opt.tabstop = 4
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
if require('init.first_load')() then
|
if require("init.first_load")() then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Allow `require('impatient')` to fail, in case plugins are not yet installed
|
-- Allow `require('impatient')` to fail, in case plugins are not yet installed
|
||||||
_ = pcall(require, 'impatient')
|
_ = pcall(require, "impatient")
|
||||||
|
|
||||||
vim.cmd [[filetype plugin indent on]]
|
vim.cmd [[filetype plugin indent on]]
|
||||||
|
|
||||||
|
@ -13,33 +13,33 @@ vim.api.nvim_exec('let $NVIMHOME = $HOME."/.local/share/nvim"', false)
|
||||||
vim.api.nvim_exec('let $VIMPLUGINS = expand($VIMHOME."/lua/personal/plugins.lua")', false)
|
vim.api.nvim_exec('let $VIMPLUGINS = expand($VIMHOME."/lua/personal/plugins.lua")', false)
|
||||||
|
|
||||||
-- Leader config to <Space>
|
-- Leader config to <Space>
|
||||||
vim.g.mapleader = ' '
|
vim.g.mapleader = " "
|
||||||
|
|
||||||
-- Globals taken from TJ config
|
-- Globals taken from TJ config
|
||||||
-- Helpful for configuration
|
-- Helpful for configuration
|
||||||
-- Might be removed in future version of NeoVim
|
-- Might be removed in future version of NeoVim
|
||||||
require('init.globals')
|
require("init.globals")
|
||||||
|
|
||||||
require('init.plugins')
|
require("init.plugins")
|
||||||
|
|
||||||
require('init.options')
|
require("init.options")
|
||||||
|
|
||||||
require('lsp')
|
require("lsp")
|
||||||
|
|
||||||
-- Colorscheme
|
-- Colorscheme
|
||||||
vim.cmd('syntax on')
|
vim.cmd("syntax on")
|
||||||
require('init.colors')
|
require("init.colors")
|
||||||
|
|
||||||
vim.api.nvim_set_keymap('n', 'Q', 'gq', {})
|
vim.api.nvim_set_keymap("n", "Q", "gq", {})
|
||||||
vim.api.nvim_set_keymap('i', '<C-U>', '<C-G>u<C-U>', {noremap = true})
|
vim.api.nvim_set_keymap("i", "<C-U>", "<C-G>u<C-U>", {noremap = true})
|
||||||
|
|
||||||
vim.cmd('command! Wq :wq')
|
vim.cmd("command! Wq :wq")
|
||||||
vim.cmd('command! W :w')
|
vim.cmd("command! W :w")
|
||||||
|
|
||||||
vim.api.nvim_set_keymap('n', '<Leader>c', ':ccl <bar> lcl<CR>', {noremap = true})
|
vim.api.nvim_set_keymap("n", "<Leader>c", ":ccl <bar> lcl<CR>", {noremap = true})
|
||||||
|
|
||||||
-- Allow recursive searches
|
-- Allow recursive searches
|
||||||
vim.cmd('set path+=**')
|
vim.cmd("set path+=**")
|
||||||
|
|
||||||
-- automatically rebalance windows on vim resize
|
-- automatically rebalance windows on vim resize
|
||||||
vim.cmd('autocmd VimResized * :wincmd =')
|
vim.cmd("autocmd VimResized * :wincmd =")
|
||||||
|
|
|
@ -7,30 +7,28 @@
|
||||||
-- Works regardless of ssh or https for origin config
|
-- Works regardless of ssh or https for origin config
|
||||||
-- Hardcoded to use 'origin' remote
|
-- Hardcoded to use 'origin' remote
|
||||||
local function get_pr_url(...)
|
local function get_pr_url(...)
|
||||||
local origin_url = vim.fn['fugitive#RemoteUrl']('origin')
|
local origin_url = vim.fn["fugitive#RemoteUrl"]("origin")
|
||||||
origin_url = string.gsub(origin_url, '.git$', '')
|
origin_url = string.gsub(origin_url, ".git$", "")
|
||||||
origin_url = string.gsub(origin_url, ':', '/')
|
origin_url = string.gsub(origin_url, ":", "/")
|
||||||
origin_url = string.gsub(origin_url, 'git@', 'https://')
|
origin_url = string.gsub(origin_url, "git@", "https://")
|
||||||
|
|
||||||
-- Remove prefix if it is available, for some of common git services
|
-- Remove prefix if it is available, for some of common git services
|
||||||
local common_services = {'github.com', 'bitbucket.org', 'gitlab.com'}
|
local common_services = {"github.com", "bitbucket.org", "gitlab.com"}
|
||||||
for k,service in pairs(common_services) do
|
for k, service in pairs(common_services) do
|
||||||
if (string.find(origin_url, service, 1, true))
|
if (string.find(origin_url, service, 1, true)) then
|
||||||
then
|
-- Common mechanism for managing multiple SSH keys
|
||||||
-- Common mechanism for managing multiple SSH keys
|
origin_url = string.gsub(origin_url, "://.*" .. service, "://" .. service)
|
||||||
origin_url = string.gsub(origin_url, '://.*' .. service, '://' .. service)
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
-- This part probably only works on github
|
-- This part probably only works on github
|
||||||
local pr_url
|
local pr_url
|
||||||
if (select('#', ...) == 0)
|
if (select("#", ...) == 0) then
|
||||||
then
|
pr_url = origin_url .. "/compare/" .. vim.fn.FugitiveHead() .. "?expand=1"
|
||||||
pr_url = origin_url .. '/compare/' .. vim.fn.FugitiveHead() .. '?expand=1'
|
else
|
||||||
else
|
pr_url = origin_url .. "/compare/" .. select(1, ...) .. "..." .. vim.fn.FugitiveHead() .. "?expand=1"
|
||||||
pr_url = origin_url .. '/compare/' .. select(1, ...) .. '...' .. vim.fn.FugitiveHead() .. '?expand=1'
|
end
|
||||||
end
|
return pr_url
|
||||||
return pr_url
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
@ -42,42 +40,41 @@ local M = {}
|
||||||
-- Shorcut to push directly to current branch on origin
|
-- Shorcut to push directly to current branch on origin
|
||||||
-- Similar to `ggpush` in fish config
|
-- Similar to `ggpush` in fish config
|
||||||
function M.push_origin()
|
function M.push_origin()
|
||||||
vim.cmd('Git push origin ' .. vim.fn.FugitiveHead())
|
vim.cmd("Git push origin " .. vim.fn.FugitiveHead())
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Shorcut to pull directly from current branch on origin
|
-- Shorcut to pull directly from current branch on origin
|
||||||
-- Similar to `ggpull` in fish config
|
-- Similar to `ggpull` in fish config
|
||||||
function M.pull_origin()
|
function M.pull_origin()
|
||||||
vim.cmd('Git pull origin ' .. vim.fn.FugitiveHead())
|
vim.cmd("Git pull origin " .. vim.fn.FugitiveHead())
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
-- Prints current branches PR url (not saved to :messages)
|
-- Prints current branches PR url (not saved to :messages)
|
||||||
-- Makes it easy to use terminal for opening url on click
|
-- Makes it easy to use terminal for opening url on click
|
||||||
function M.print_pr_url(...)
|
function M.print_pr_url(...)
|
||||||
vim.cmd('echo "' .. get_pr_url(...) .. '"')
|
vim.cmd('echo "' .. get_pr_url(...) .. '"')
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Copies current branches PR url to system clipboard
|
-- Copies current branches PR url to system clipboard
|
||||||
function M.copy_pr_url(...)
|
function M.copy_pr_url(...)
|
||||||
vim.cmd('let @+ = "' .. get_pr_url(...) .. '"')
|
vim.cmd('let @+ = "' .. get_pr_url(...) .. '"')
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Opens current banches PR url in default browser
|
-- Opens current banches PR url in default browser
|
||||||
-- Utilizes netrw browse, meaning it should behave same as netrw
|
-- Utilizes netrw browse, meaning it should behave same as netrw
|
||||||
function M.open_new_pr(...)
|
function M.open_new_pr(...)
|
||||||
vim.fn['netrw#BrowseX'](get_pr_url(...), 0)
|
vim.fn["netrw#BrowseX"](get_pr_url(...), 0)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Creates new branch and checks out to it
|
-- Creates new branch and checks out to it
|
||||||
-- Similar to `gcb` in fish config
|
-- Similar to `gcb` in fish config
|
||||||
function M.create_branch(branch)
|
function M.create_branch(branch)
|
||||||
vim.cmd('Git checkout -b ' .. branch)
|
vim.cmd("Git checkout -b " .. branch)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Switches to branch
|
-- Switches to branch
|
||||||
function M.checkout_branch(branch)
|
function M.checkout_branch(branch)
|
||||||
vim.cmd('Git checkout ' .. branch)
|
vim.cmd("Git checkout " .. branch)
|
||||||
end
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
|
@ -1,35 +1,31 @@
|
||||||
-- Adopted from https://github.com/tjdevries/config_manager/blob/master/xdg_config/nvim/lua/tj/first_load.lua
|
-- Adopted from https://github.com/tjdevries/config_manager/blob/master/xdg_config/nvim/lua/tj/first_load.lua
|
||||||
local download_packer = function()
|
local download_packer = function()
|
||||||
if vim.fn.input("Download Packer? (y for yes)") ~= "y" then
|
if vim.fn.input("Download Packer? (y for yes)") ~= "y" then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local directory = string.format(
|
local directory = string.format("%s/site/pack/packer/start/", vim.fn.stdpath("data"))
|
||||||
'%s/site/pack/packer/start/',
|
|
||||||
vim.fn.stdpath('data')
|
|
||||||
)
|
|
||||||
|
|
||||||
vim.fn.mkdir(directory, 'p')
|
vim.fn.mkdir(directory, "p")
|
||||||
|
|
||||||
local out = vim.fn.system(string.format(
|
local out =
|
||||||
'git clone %s %s',
|
vim.fn.system(
|
||||||
'https://github.com/wbthomason/packer.nvim',
|
string.format("git clone %s %s", "https://github.com/wbthomason/packer.nvim", directory .. "/packer.nvim")
|
||||||
directory .. '/packer.nvim'
|
)
|
||||||
))
|
|
||||||
|
|
||||||
print(out)
|
print(out)
|
||||||
print("Downloading packer.nvim...")
|
print("Downloading packer.nvim...")
|
||||||
vim.api.nvim_command('PackerCompile')
|
vim.api.nvim_command("PackerCompile")
|
||||||
vim.api.nvim_command('PackerInstall')
|
vim.api.nvim_command("PackerInstall")
|
||||||
print("( You'll need to restart now )")
|
print("( You'll need to restart now )")
|
||||||
end
|
end
|
||||||
|
|
||||||
return function()
|
return function()
|
||||||
if not pcall(require, 'packer') then
|
if not pcall(require, "packer") then
|
||||||
download_packer()
|
download_packer()
|
||||||
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,18 +2,18 @@
|
||||||
-- - Adopted from TJ config (https://github.com/tjdevries/config_manager/blob/master/xdg_config/nvim/lua/tj/globals/init.lua) -
|
-- - Adopted from TJ config (https://github.com/tjdevries/config_manager/blob/master/xdg_config/nvim/lua/tj/globals/init.lua) -
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
P = function(v)
|
P = function(v)
|
||||||
print(vim.inspect(v))
|
print(vim.inspect(v))
|
||||||
return v
|
return v
|
||||||
end
|
end
|
||||||
|
|
||||||
if pcall(require, 'plenary') then
|
if pcall(require, "plenary") then
|
||||||
RELOAD = require('plenary.reload').reload_module
|
RELOAD = require("plenary.reload").reload_module
|
||||||
|
|
||||||
R = function(name)
|
R = function(name)
|
||||||
RELOAD(name)
|
RELOAD(name)
|
||||||
return require(name)
|
return require(name)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- `vim.opt`
|
-- `vim.opt`
|
||||||
require('init.globals.opt')
|
require("init.globals.opt")
|
||||||
|
|
|
@ -12,7 +12,6 @@ set_opts {
|
||||||
}
|
}
|
||||||
|
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
--[[ Global option names
|
--[[ Global option names
|
||||||
|
|
||||||
For those wondering how to get the values at the top level,
|
For those wondering how to get the values at the top level,
|
||||||
|
@ -26,54 +25,53 @@ setfenv(function()
|
||||||
end, vim.opt)()
|
end, vim.opt)()
|
||||||
|
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
local if_nil = function(a, b)
|
local if_nil = function(a, b)
|
||||||
if a == nil then
|
if a == nil then
|
||||||
return b
|
return b
|
||||||
end
|
end
|
||||||
return a
|
return a
|
||||||
end
|
end
|
||||||
|
|
||||||
local singular_values = {
|
local singular_values = {
|
||||||
['boolean'] = true,
|
["boolean"] = true,
|
||||||
['number'] = true,
|
["number"] = true,
|
||||||
['nil'] = true,
|
["nil"] = true
|
||||||
}
|
}
|
||||||
|
|
||||||
local set_key_value = function(t, key_value_str)
|
local set_key_value = function(t, key_value_str)
|
||||||
assert(string.find(key_value_str, ":"), "Must have a :" .. tostring(key_value_str))
|
assert(string.find(key_value_str, ":"), "Must have a :" .. tostring(key_value_str))
|
||||||
|
|
||||||
local key, value = unpack(vim.split(key_value_str, ":"))
|
local key, value = unpack(vim.split(key_value_str, ":"))
|
||||||
key = vim.trim(key)
|
key = vim.trim(key)
|
||||||
value = vim.trim(value)
|
value = vim.trim(value)
|
||||||
|
|
||||||
t[key] = value
|
t[key] = value
|
||||||
end
|
end
|
||||||
|
|
||||||
local convert_vimoption_to_lua = function(option, val)
|
local convert_vimoption_to_lua = function(option, val)
|
||||||
-- Short circuit if we've already converted!
|
-- Short circuit if we've already converted!
|
||||||
if type(val) == 'table' then
|
if type(val) == "table" then
|
||||||
return val
|
return val
|
||||||
end
|
end
|
||||||
|
|
||||||
if singular_values[type(val)] then
|
if singular_values[type(val)] then
|
||||||
return val
|
return val
|
||||||
end
|
end
|
||||||
|
|
||||||
if type(val) == "string" then
|
if type(val) == "string" then
|
||||||
-- TODO: Bad hax I think
|
-- TODO: Bad hax I think
|
||||||
if string.find(val, ":") then
|
if string.find(val, ":") then
|
||||||
local result = {}
|
local result = {}
|
||||||
local items = vim.split(val, ",")
|
local items = vim.split(val, ",")
|
||||||
for _, item in ipairs(items) do
|
for _, item in ipairs(items) do
|
||||||
set_key_value(result, item)
|
set_key_value(result, item)
|
||||||
end
|
end
|
||||||
|
|
||||||
return result
|
return result
|
||||||
else
|
else
|
||||||
return vim.split(val, ",")
|
return vim.split(val, ",")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- local concat_keys = function(t, sep)
|
-- local concat_keys = function(t, sep)
|
||||||
|
@ -81,183 +79,177 @@ end
|
||||||
-- end
|
-- end
|
||||||
|
|
||||||
local concat_key_values = function(t, sep, divider)
|
local concat_key_values = function(t, sep, divider)
|
||||||
local final = {}
|
local final = {}
|
||||||
for k, v in pairs(t) do
|
for k, v in pairs(t) do
|
||||||
table.insert(final, string.format('%s%s%s', k, divider, v))
|
table.insert(final, string.format("%s%s%s", k, divider, v))
|
||||||
end
|
end
|
||||||
|
|
||||||
table.sort(final)
|
table.sort(final)
|
||||||
return table.concat(final, sep)
|
return table.concat(final, sep)
|
||||||
end
|
end
|
||||||
|
|
||||||
local remove_duplicate_values = function(t)
|
local remove_duplicate_values = function(t)
|
||||||
local result = {}
|
local result = {}
|
||||||
for _, v in ipairs(t) do
|
for _, v in ipairs(t) do
|
||||||
result[v] = true
|
result[v] = true
|
||||||
end
|
end
|
||||||
|
|
||||||
return vim.tbl_keys(result)
|
return vim.tbl_keys(result)
|
||||||
end
|
end
|
||||||
|
|
||||||
local remove_value = function(t, val)
|
local remove_value = function(t, val)
|
||||||
if vim.tbl_islist(t) then
|
if vim.tbl_islist(t) then
|
||||||
local remove_index = nil
|
local remove_index = nil
|
||||||
for i, v in ipairs(t) do
|
for i, v in ipairs(t) do
|
||||||
if v == val then
|
if v == val then
|
||||||
remove_index = i
|
remove_index = i
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if remove_index then
|
||||||
|
table.remove(t, remove_index)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
t[val] = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
if remove_index then
|
return t
|
||||||
table.remove(t, remove_index)
|
|
||||||
end
|
|
||||||
else
|
|
||||||
t[val] = nil
|
|
||||||
end
|
|
||||||
|
|
||||||
return t
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local add_value = function(current, new)
|
local add_value = function(current, new)
|
||||||
if singular_values[type(current)] then
|
if singular_values[type(current)] then
|
||||||
error(
|
error(
|
||||||
"This is not possible to do. Please do something different: "
|
"This is not possible to do. Please do something different: " ..
|
||||||
.. tostring(current)
|
tostring(current) .. " // " .. tostring(new)
|
||||||
.. " // "
|
)
|
||||||
.. tostring(new)
|
|
||||||
)
|
|
||||||
end
|
|
||||||
|
|
||||||
if type(new) == 'string' then
|
|
||||||
if vim.tbl_islist(current) then
|
|
||||||
table.insert(current, new)
|
|
||||||
else
|
|
||||||
set_key_value(current, new)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return current
|
if type(new) == "string" then
|
||||||
elseif type(new) == 'table' then
|
if vim.tbl_islist(current) then
|
||||||
if vim.tbl_islist(current) then
|
table.insert(current, new)
|
||||||
assert(vim.tbl_islist(new))
|
else
|
||||||
vim.list_extend(current, new)
|
set_key_value(current, new)
|
||||||
else
|
end
|
||||||
assert(not vim.tbl_islist(new), vim.inspect(new) .. vim.inspect(current))
|
|
||||||
current = vim.tbl_extend("force", current, new)
|
|
||||||
end
|
|
||||||
|
|
||||||
return current
|
return current
|
||||||
else
|
elseif type(new) == "table" then
|
||||||
error("Unknown type")
|
if vim.tbl_islist(current) then
|
||||||
end
|
assert(vim.tbl_islist(new))
|
||||||
|
vim.list_extend(current, new)
|
||||||
|
else
|
||||||
|
assert(not vim.tbl_islist(new), vim.inspect(new) .. vim.inspect(current))
|
||||||
|
current = vim.tbl_extend("force", current, new)
|
||||||
|
end
|
||||||
|
|
||||||
|
return current
|
||||||
|
else
|
||||||
|
error("Unknown type")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local convert_lua_to_vimoption = function(t)
|
local convert_lua_to_vimoption = function(t)
|
||||||
if vim.tbl_islist(t) then
|
if vim.tbl_islist(t) then
|
||||||
t = remove_duplicate_values(t)
|
t = remove_duplicate_values(t)
|
||||||
|
|
||||||
table.sort(t)
|
table.sort(t)
|
||||||
return table.concat(t, ',')
|
return table.concat(t, ",")
|
||||||
else
|
else
|
||||||
return concat_key_values(t, ',', ':')
|
return concat_key_values(t, ",", ":")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local clean_value = function(v)
|
local clean_value = function(v)
|
||||||
if singular_values[type(v)] then
|
if singular_values[type(v)] then
|
||||||
return v
|
return v
|
||||||
end
|
end
|
||||||
|
|
||||||
local result = v:gsub('^,', '')
|
local result = v:gsub("^,", "")
|
||||||
|
|
||||||
return result
|
return result
|
||||||
end
|
end
|
||||||
|
|
||||||
local opt_mt
|
local opt_mt
|
||||||
|
|
||||||
opt_mt = {
|
opt_mt = {
|
||||||
__index = function(t, k)
|
__index = function(t, k)
|
||||||
if k == '_value' then
|
if k == "_value" then
|
||||||
return rawget(t, k)
|
return rawget(t, k)
|
||||||
end
|
end
|
||||||
|
|
||||||
return setmetatable({ _option = k, }, opt_mt)
|
return setmetatable({_option = k}, opt_mt)
|
||||||
end,
|
end,
|
||||||
|
__newindex = function(t, k, v)
|
||||||
|
if k == "_value" then
|
||||||
|
return rawset(t, k, v)
|
||||||
|
end
|
||||||
|
|
||||||
__newindex = function(t, k, v)
|
if type(v) == "table" then
|
||||||
if k == '_value' then
|
local new_value
|
||||||
return rawset(t, k, v)
|
if getmetatable(v) ~= opt_mt then
|
||||||
end
|
new_value = v
|
||||||
|
else
|
||||||
|
assert(v._value, "Must have a value to set this")
|
||||||
|
new_value = v._value
|
||||||
|
end
|
||||||
|
|
||||||
if type(v) == 'table' then
|
vim.o[k] = convert_lua_to_vimoption(new_value)
|
||||||
local new_value
|
return
|
||||||
if getmetatable(v) ~= opt_mt then
|
end
|
||||||
new_value = v
|
|
||||||
else
|
|
||||||
assert(v._value, "Must have a value to set this")
|
|
||||||
new_value = v._value
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.o[k] = convert_lua_to_vimoption(new_value)
|
if v == nil then
|
||||||
return
|
v = ""
|
||||||
end
|
end
|
||||||
|
|
||||||
if v == nil then
|
-- TODO: Figure out why nvim_set_option doesn't override values the same way.
|
||||||
v = ''
|
-- @bfredl said he will fix this for me, so I can just use nvim_set_option
|
||||||
end
|
if type(v) == "boolean" then
|
||||||
|
vim.o[k] = clean_value(v)
|
||||||
-- TODO: Figure out why nvim_set_option doesn't override values the same way.
|
if v then
|
||||||
-- @bfredl said he will fix this for me, so I can just use nvim_set_option
|
vim.cmd(string.format("set %s", k))
|
||||||
if type(v) == 'boolean' then
|
else
|
||||||
vim.o[k] = clean_value(v)
|
vim.cmd(string.format("set no%s", k))
|
||||||
if v then
|
end
|
||||||
vim.cmd(string.format("set %s", k))
|
else
|
||||||
else
|
vim.cmd(string.format("set %s=%s", k, clean_value(v)))
|
||||||
vim.cmd(string.format("set no%s", k))
|
end
|
||||||
end
|
end,
|
||||||
else
|
__add = function(left, right)
|
||||||
vim.cmd(string.format("set %s=%s", k, clean_value(v)))
|
--[[
|
||||||
end
|
|
||||||
end,
|
|
||||||
|
|
||||||
__add = function(left, right)
|
|
||||||
--[[
|
|
||||||
set.wildignore = set.wildignore + 'hello'
|
set.wildignore = set.wildignore + 'hello'
|
||||||
set.wildignore = set.wildignore + { '*.o', '*~', }
|
set.wildignore = set.wildignore + { '*.o', '*~', }
|
||||||
--]]
|
--]]
|
||||||
|
assert(left._option, "must have an option key")
|
||||||
|
if left._option == "foldcolumn" then
|
||||||
|
error("not implemented for foldcolumn.. use a string")
|
||||||
|
end
|
||||||
|
|
||||||
assert(left._option, "must have an option key")
|
local existing = if_nil(left._value, vim.o[left._option])
|
||||||
if left._option == 'foldcolumn' then
|
local current = convert_vimoption_to_lua(left._option, existing)
|
||||||
error("not implemented for foldcolumn.. use a string")
|
if not current then
|
||||||
|
left._value = convert_vimoption_to_lua(right)
|
||||||
|
end
|
||||||
|
|
||||||
|
left._value = add_value(current, right)
|
||||||
|
return left
|
||||||
|
end,
|
||||||
|
__sub = function(left, right)
|
||||||
|
assert(left._option, "must have an option key")
|
||||||
|
|
||||||
|
local existing = if_nil(left._value, vim.o[left._option])
|
||||||
|
local current = convert_vimoption_to_lua(left._option, existing)
|
||||||
|
if not current then
|
||||||
|
return left
|
||||||
|
end
|
||||||
|
|
||||||
|
left._value = remove_value(current, right)
|
||||||
|
return left
|
||||||
end
|
end
|
||||||
|
|
||||||
local existing = if_nil(left._value, vim.o[left._option])
|
|
||||||
local current = convert_vimoption_to_lua(left._option, existing)
|
|
||||||
if not current then
|
|
||||||
left._value = convert_vimoption_to_lua(right)
|
|
||||||
end
|
|
||||||
|
|
||||||
left._value = add_value(current, right)
|
|
||||||
return left
|
|
||||||
end,
|
|
||||||
|
|
||||||
__sub = function(left, right)
|
|
||||||
assert(left._option, "must have an option key")
|
|
||||||
|
|
||||||
local existing = if_nil(left._value, vim.o[left._option])
|
|
||||||
local current = convert_vimoption_to_lua(left._option, existing)
|
|
||||||
if not current then
|
|
||||||
return left
|
|
||||||
end
|
|
||||||
|
|
||||||
left._value = remove_value(current, right)
|
|
||||||
return left
|
|
||||||
end
|
|
||||||
}
|
}
|
||||||
|
|
||||||
vim.opt = setmetatable({}, opt_mt)
|
vim.opt = setmetatable({}, opt_mt)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
convert_vimoption_to_lua = convert_vimoption_to_lua,
|
convert_vimoption_to_lua = convert_vimoption_to_lua,
|
||||||
opt = vim.opt,
|
opt = vim.opt,
|
||||||
opt_mt = opt_mt
|
opt_mt = opt_mt
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
local opt = vim.opt
|
local opt = vim.opt
|
||||||
|
|
||||||
opt.wildignore = '__pycache__'
|
opt.wildignore = "__pycache__"
|
||||||
opt.wildignore = opt.wildignore + { '*.o' , '*~', '*.pyc', '*pycache*' }
|
opt.wildignore = opt.wildignore + {"*.o", "*~", "*.pyc", "*pycache*"}
|
||||||
|
|
||||||
-- Indentation config
|
-- Indentation config
|
||||||
opt.tabstop = 2
|
opt.tabstop = 2
|
||||||
|
@ -14,7 +14,7 @@ opt.number = true
|
||||||
opt.relativenumber = true
|
opt.relativenumber = true
|
||||||
|
|
||||||
-- Misc
|
-- Misc
|
||||||
opt.backspace = 'indent,eol,start' -- Allow backspacing over everything in insert mode
|
opt.backspace = "indent,eol,start" -- Allow backspacing over everything in insert mode
|
||||||
opt.ttimeoutlen = 50
|
opt.ttimeoutlen = 50
|
||||||
opt.backup = false -- do not keep a backup file, use versions instead
|
opt.backup = false -- do not keep a backup file, use versions instead
|
||||||
opt.history = 50 -- Keep 50 lines of command line history
|
opt.history = 50 -- Keep 50 lines of command line history
|
||||||
|
@ -26,8 +26,8 @@ opt.showcmd = true -- Display incomplete commands
|
||||||
opt.incsearch = true -- Do incremental searching
|
opt.incsearch = true -- Do incremental searching
|
||||||
opt.autoread = true -- Reload files changed outside
|
opt.autoread = true -- Reload files changed outside
|
||||||
opt.hidden = true -- Allow leaving unsaved buffers
|
opt.hidden = true -- Allow leaving unsaved buffers
|
||||||
opt.inccommand = 'nosplit' -- Enable live preview of text replacement
|
opt.inccommand = "nosplit" -- Enable live preview of text replacement
|
||||||
opt.hlsearch = true
|
opt.hlsearch = true
|
||||||
opt.mouse = 'a'
|
opt.mouse = "a"
|
||||||
|
|
||||||
opt.encoding = "utf-8"
|
opt.encoding = "utf-8"
|
||||||
|
|
|
@ -1,107 +1,105 @@
|
||||||
return require('packer').startup {
|
return require("packer").startup {
|
||||||
function(use)
|
function(use)
|
||||||
use 'wbthomason/packer.nvim'
|
use "wbthomason/packer.nvim"
|
||||||
|
|
||||||
-- Tpope general improvements --
|
-- Tpope general improvements
|
||||||
use 'tpope/vim-sensible' -- Sane defaults
|
use "tpope/vim-sensible" -- Sane defaults
|
||||||
use 'tpope/vim-endwise' -- Add closing statements automatically for if, function etc
|
use "tpope/vim-endwise" -- Add closing statements automatically for if, function etc
|
||||||
use 'tpope/vim-surround' -- Surround with ', ", etc
|
use "tpope/vim-surround" -- Surround with ', ", etc
|
||||||
use 'tpope/vim-fugitive' -- Git integration
|
use "tpope/vim-fugitive" -- Git integration
|
||||||
use 'tpope/vim-vinegar' -- Netrw improvements
|
use "tpope/vim-vinegar" -- Netrw improvements
|
||||||
use 'tpope/vim-obsession' -- Session.vim management
|
use "tpope/vim-obsession" -- Session.vim management
|
||||||
use 'tpope/vim-dadbod' -- Database access
|
use "tpope/vim-dadbod" -- Database access
|
||||||
use 'kristijanhusak/vim-dadbod-ui' -- UI For Dadbod
|
use "kristijanhusak/vim-dadbod-ui" -- UI For Dadbod
|
||||||
use 'tpope/vim-speeddating' -- <C-A> and <C-X> for dates
|
use "tpope/vim-speeddating" -- <C-A> and <C-X> for dates
|
||||||
use 'tpope/vim-dispatch' -- Dispatch command
|
use "tpope/vim-dispatch" -- Dispatch command
|
||||||
use 'tpope/vim-projectionist' -- Project config file!
|
use "tpope/vim-projectionist" -- Project config file!
|
||||||
use 'tpope/vim-unimpaired' -- Additional [ and ] mappings
|
use "tpope/vim-unimpaired" -- Additional [ and ] mappings
|
||||||
use 'tpope/vim-repeat' -- Better . repeat
|
use "tpope/vim-repeat" -- Better . repeat
|
||||||
use 'tpope/vim-commentary' -- Commenting motion
|
use "tpope/vim-commentary" -- Commenting motion
|
||||||
use 'tpope/vim-sleuth' -- Intendation heuristics
|
use "tpope/vim-sleuth" -- Intendation heuristics
|
||||||
|
|
||||||
-- General improvements --
|
-- General improvements
|
||||||
use 'airblade/vim-gitgutter' -- Git signs
|
use "airblade/vim-gitgutter" -- Git signs
|
||||||
use 'godlygeek/tabular' -- Tabular command for alignment
|
use "godlygeek/tabular" -- Tabular command for alignment
|
||||||
use 'vim-scripts/utl.vim' -- Universal text linking
|
use "vim-scripts/utl.vim" -- Universal text linking
|
||||||
use { --
|
use {
|
||||||
'mbbill/undotree', --
|
"mbbill/undotree",
|
||||||
cmd = 'UndotreeToggle' --
|
cmd = "UndotreeToggle"
|
||||||
} -- Undos in a tree for easy access
|
} -- Undos in a tree for easy access
|
||||||
use 'mhinz/vim-grepper' -- Grepper command - improved grepping throughout project
|
use "mhinz/vim-grepper" -- Grepper command - improved grepping throughout project
|
||||||
use 'radenling/vim-dispatch-neovim' -- vim-dispatch for neovim - uses terminal
|
use "radenling/vim-dispatch-neovim" -- vim-dispatch for neovim - uses terminal
|
||||||
use 'wellle/targets.vim' -- Additional targets for inside and around motions
|
use "wellle/targets.vim" -- Additional targets for inside and around motions
|
||||||
use 'flazz/vim-colorschemes' -- All popular colorschemes
|
use "flazz/vim-colorschemes" -- All popular colorschemes
|
||||||
use 'romainl/vim-qf' -- Quickfix list upgrades
|
use "romainl/vim-qf" -- Quickfix list upgrades
|
||||||
use 'romainl/vim-devdocs' -- Quick DevDocs.io search using :DD
|
use "romainl/vim-devdocs" -- Quick DevDocs.io search using :DD
|
||||||
use 'gpanders/editorconfig.nvim' -- .editorconfig support
|
use "gpanders/editorconfig.nvim" -- .editorconfig support
|
||||||
use 'lewis6991/impatient.nvim' -- Caching lua modules for faster startup
|
use "lewis6991/impatient.nvim" -- Caching lua modules for faster startup
|
||||||
|
|
||||||
-- Tools --
|
-- Tools
|
||||||
use 'direnv/direnv.vim' -- Integration with Direnv
|
use "direnv/direnv.vim" -- Integration with Direnv
|
||||||
use 'vim-test/vim-test' -- Running tests from vim
|
use "vim-test/vim-test" -- Running tests from vim
|
||||||
use 'dense-analysis/ale' -- Asynchronous Lint Engine - used for linting, not for LSP
|
use "dense-analysis/ale" -- Asynchronous Lint Engine - used for linting, not for LSP
|
||||||
use 'nathunsmitty/nvim-ale-diagnostic' -- Neovim LSP + ALE integration
|
use "nathunsmitty/nvim-ale-diagnostic" -- Neovim LSP + ALE integration
|
||||||
use 'mfussenegger/nvim-dap' -- Debug Adapter Protocol
|
use "mfussenegger/nvim-dap" -- Debug Adapter Protocol
|
||||||
use 'rcarriga/nvim-dap-ui' -- UI components for DAP
|
use "rcarriga/nvim-dap-ui" -- UI components for DAP
|
||||||
use 'theHamsta/nvim-dap-virtual-text' -- Virtual text display for DAP
|
use "theHamsta/nvim-dap-virtual-text" -- Virtual text display for DAP
|
||||||
use 'diepm/vim-rest-console' -- REST console for vim
|
use "diepm/vim-rest-console" -- REST console for vim
|
||||||
use 'Pocco81/DAPInstall.nvim' -- Easy DAP configuration
|
use "Pocco81/DAPInstall.nvim" -- Easy DAP configuration
|
||||||
use 'jamestthompson3/nvim-remote-containers' -- devcontainer.json support
|
use "jamestthompson3/nvim-remote-containers" -- devcontainer.json support
|
||||||
use 'jbyuki/one-small-step-for-vimkind' -- Debugger for Nvim-Lua
|
use "jbyuki/one-small-step-for-vimkind" -- Debugger for Nvim-Lua
|
||||||
|
|
||||||
-- Snippets --
|
-- Snippets
|
||||||
if vim.g.loaded_python3_provider ~= 0 --
|
if vim.g.loaded_python3_provider ~= 0 then
|
||||||
then --
|
use "SirVer/ultisnips" -- Snippets in python format
|
||||||
use 'SirVer/ultisnips' -- Snippets in python format
|
use "honza/vim-snippets" -- Collection of snippets for UltiSnips
|
||||||
use 'honza/vim-snippets' -- Collection of snippets for UltiSnips
|
end
|
||||||
end --
|
|
||||||
|
|
||||||
-- Language support --
|
-- Language support
|
||||||
use 'tpope/vim-rails' -- Enables all rails command through vim and integrates with projectionist
|
use "tpope/vim-rails" -- Enables all rails command through vim and integrates with projectionist
|
||||||
use 'c-brenn/phoenix.vim' -- Similar to vim-rails, but for phoenix
|
use "c-brenn/phoenix.vim" -- Similar to vim-rails, but for phoenix
|
||||||
use 'tpope/vim-salve' -- Clojure integration with projectionist
|
use "tpope/vim-salve" -- Clojure integration with projectionist
|
||||||
use 'tpope/vim-fireplace' -- Clojure REPL and integration
|
use "tpope/vim-fireplace" -- Clojure REPL and integration
|
||||||
use 'vimwiki/vimwiki' -- Vimwiki - personal wiki in vim
|
use "vimwiki/vimwiki" -- Vimwiki - personal wiki in vim
|
||||||
use 'esensar/vimwiki-reviews-lua' -- Vimwiki extension for periodic reviews
|
use "esensar/vimwiki-reviews-lua" -- Vimwiki extension for periodic reviews
|
||||||
use 'ledger/vim-ledger' -- Support for ledger-cli format
|
use "ledger/vim-ledger" -- Support for ledger-cli format
|
||||||
use 'tandrewnichols/vim-docile' -- Support for vim doc.txt format
|
use "tandrewnichols/vim-docile" -- Support for vim doc.txt format
|
||||||
use 'habamax/vim-godot' -- Godot engine (and script) support
|
use "habamax/vim-godot" -- Godot engine (and script) support
|
||||||
use 'guns/vim-sexp' -- Precision editing for S-expressions
|
use "guns/vim-sexp" -- Precision editing for S-expressions
|
||||||
use( -- Simpler keymaps for vim-sexp
|
use("tpope/vim-sexp-mappings-for-regular-people") -- Simpler keymaps for vim-sexp
|
||||||
'tpope/vim-sexp-mappings-for-regular-people'
|
use "tridactyl/vim-tridactyl" -- Tridactyl config file support
|
||||||
)
|
use "aklt/plantuml-syntax" -- PlantUML support
|
||||||
use 'tridactyl/vim-tridactyl' -- Tridactyl config file support
|
|
||||||
|
|
||||||
-- Treesitter --
|
-- Treesitter
|
||||||
use { --
|
use {
|
||||||
'nvim-treesitter/nvim-treesitter', --
|
"nvim-treesitter/nvim-treesitter",
|
||||||
run = ':TSUpdate' --
|
run = ":TSUpdate"
|
||||||
} -- Treesitter integration
|
} -- Treesitter integration
|
||||||
use 'nvim-treesitter/playground' -- TSPlaygroundToggle - access treesitter data
|
use "nvim-treesitter/playground" -- TSPlaygroundToggle - access treesitter data
|
||||||
|
|
||||||
-- LSP --
|
-- LSP
|
||||||
use 'neovim/nvim-lspconfig' -- Easy LSP Config
|
use "neovim/nvim-lspconfig" -- Easy LSP Config
|
||||||
use 'alexaandru/nvim-lspupdate' -- Easy install and update for many LSP servers
|
use "alexaandru/nvim-lspupdate" -- Easy install and update for many LSP servers
|
||||||
use 'hrsh7th/cmp-nvim-lsp' -- LSP source for cmp
|
use "hrsh7th/cmp-nvim-lsp" -- LSP source for cmp
|
||||||
use 'hrsh7th/cmp-buffer' -- Buffer source for nvim-cmp
|
use "hrsh7th/cmp-buffer" -- Buffer source for nvim-cmp
|
||||||
use 'hrsh7th/cmp-path' -- Path source for nvim-cmp
|
use "hrsh7th/cmp-path" -- Path source for nvim-cmp
|
||||||
use 'hrsh7th/cmp-nvim-lua' -- Nvim-Lua source for nvim-cmp
|
use "hrsh7th/cmp-nvim-lua" -- Nvim-Lua source for nvim-cmp
|
||||||
use 'quangnguyen30192/cmp-nvim-ultisnips' -- Ultisnips source for nvim-cmp
|
use "quangnguyen30192/cmp-nvim-ultisnips" -- Ultisnips source for nvim-cmp
|
||||||
use 'hrsh7th/nvim-cmp' -- completion integration
|
use "hrsh7th/nvim-cmp" -- completion integration
|
||||||
use 'nvim-lua/lsp_extensions.nvim' -- LSP extensions (like closing labels for Dart)
|
use "nvim-lua/lsp_extensions.nvim" -- LSP extensions (like closing labels for Dart)
|
||||||
|
|
||||||
-- LSP language specific
|
-- LSP language specific
|
||||||
use 'tjdevries/nlua.nvim' -- Built-in Lua integration with LSP
|
use "tjdevries/nlua.nvim" -- Built-in Lua integration with LSP
|
||||||
use 'akinsho/flutter-tools.nvim' -- Additional flutter integrations
|
use "akinsho/flutter-tools.nvim" -- Additional flutter integrations
|
||||||
use 'mfussenegger/nvim-jdtls' -- Additional java integrations
|
use "mfussenegger/nvim-jdtls" -- Additional java integrations
|
||||||
|
|
||||||
-- Lua support --
|
-- Lua support
|
||||||
use 'tjdevries/astronauta.nvim' -- Support for lua ftplugins and plugins
|
use "tjdevries/astronauta.nvim" -- Support for lua ftplugins and plugins
|
||||||
use 'nvim-lua/popup.nvim' -- Popup API integration - needed for some plugins
|
use "nvim-lua/popup.nvim" -- Popup API integration - needed for some plugins
|
||||||
use 'nvim-lua/plenary.nvim' -- Lua helpers
|
use "nvim-lua/plenary.nvim" -- Lua helpers
|
||||||
|
|
||||||
-- Telescope --
|
-- Telescope
|
||||||
use 'nvim-telescope/telescope.nvim' -- Fuzzy searcher
|
use "nvim-telescope/telescope.nvim" -- Fuzzy searcher
|
||||||
use 'nvim-telescope/telescope-dap.nvim' -- DAP integration for Telescope
|
use "nvim-telescope/telescope-dap.nvim" -- DAP integration for Telescope
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,25 +5,25 @@
|
||||||
-- Set completeopt to have a better completion experience
|
-- Set completeopt to have a better completion experience
|
||||||
vim.o.completeopt = "menu,menuone,noselect"
|
vim.o.completeopt = "menu,menuone,noselect"
|
||||||
|
|
||||||
local cmp = require'cmp'
|
local cmp = require "cmp"
|
||||||
cmp.setup {
|
cmp.setup {
|
||||||
snippet = {
|
snippet = {
|
||||||
expand = function(args)
|
expand = function(args)
|
||||||
vim.fn["UltiSnips#Anon"](args.body)
|
vim.fn["UltiSnips#Anon"](args.body)
|
||||||
end,
|
end
|
||||||
},
|
},
|
||||||
mapping = {
|
mapping = {
|
||||||
['<C-d>'] = cmp.mapping.scroll_docs(-4),
|
["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
||||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||||
['<C-Space>'] = cmp.mapping.complete(),
|
["<C-Space>"] = cmp.mapping.complete(),
|
||||||
['<C-e>'] = cmp.mapping.close(),
|
["<C-e>"] = cmp.mapping.close(),
|
||||||
['<C-y>'] = cmp.mapping.confirm({ select = true }),
|
["<C-y>"] = cmp.mapping.confirm({select = true})
|
||||||
},
|
},
|
||||||
sources = {
|
sources = {
|
||||||
{ name = 'nvim_lsp' },
|
{name = "nvim_lsp"},
|
||||||
{ name = 'nvim_lua' },
|
{name = "nvim_lua"},
|
||||||
{ name = 'path' },
|
{name = "path"},
|
||||||
{ name = 'ultisnips' },
|
{name = "ultisnips"},
|
||||||
{ name = 'buffer' },
|
{name = "buffer"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,13 +4,15 @@
|
||||||
|
|
||||||
require("nvim-ale-diagnostic")
|
require("nvim-ale-diagnostic")
|
||||||
|
|
||||||
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
|
vim.lsp.handlers["textDocument/publishDiagnostics"] =
|
||||||
vim.lsp.diagnostic.on_publish_diagnostics, {
|
vim.lsp.with(
|
||||||
underline = false,
|
vim.lsp.diagnostic.on_publish_diagnostics,
|
||||||
virtual_text = false,
|
{
|
||||||
signs = true,
|
underline = false,
|
||||||
update_in_insert = false,
|
virtual_text = false,
|
||||||
}
|
signs = true,
|
||||||
|
update_in_insert = false
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
vim.g.diagnostic_enable_virtual_text = 1
|
vim.g.diagnostic_enable_virtual_text = 1
|
||||||
|
|
|
@ -6,59 +6,62 @@ local common_config = require("lsp.server_config")
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
function M.setup()
|
function M.setup()
|
||||||
require'jdtls'.setup_dap()
|
require "jdtls".setup_dap()
|
||||||
require'jdtls.setup'.add_commands()
|
require "jdtls.setup".add_commands()
|
||||||
local on_attach = function(client, bufnr)
|
local on_attach = function(client, bufnr)
|
||||||
|
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
|
buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc")
|
||||||
local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
|
|
||||||
|
|
||||||
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
local default_opts = {noremap = true, silent = true}
|
||||||
|
|
||||||
local default_opts = {noremap = true, silent = true}
|
common_config.on_attach(client, bufnr)
|
||||||
|
|
||||||
common_config.on_attach(client, bufnr)
|
buf_set_keymap("n", "<A-CR>", "<cmd>lua require('jdtls').code_action()<CR>", default_opts)
|
||||||
|
buf_set_keymap("n", "<Leader>ac", "<cmd>lua require('jdtls').code_action()<CR>", default_opts)
|
||||||
|
end
|
||||||
|
|
||||||
buf_set_keymap('n', '<A-CR>', "<cmd>lua require('jdtls').code_action()<CR>", default_opts)
|
local root_markers = {"gradlew", "pom.xml"}
|
||||||
buf_set_keymap('n', '<Leader>ac', "<cmd>lua require('jdtls').code_action()<CR>", default_opts)
|
local root_dir = require("jdtls.setup").find_root(root_markers)
|
||||||
end
|
local home = os.getenv("HOME")
|
||||||
|
|
||||||
local root_markers = {'gradlew', 'pom.xml'}
|
local workspace_folder = home .. "/.workspace" .. vim.fn.fnamemodify(root_dir, ":p:h:t")
|
||||||
local root_dir = require('jdtls.setup').find_root(root_markers)
|
local config = {
|
||||||
local home = os.getenv('HOME')
|
flags = {
|
||||||
|
allow_incremental_sync = true
|
||||||
|
},
|
||||||
|
on_attach = on_attach
|
||||||
|
}
|
||||||
|
config.settings = {
|
||||||
|
java = {
|
||||||
|
signatureHelp = {enabled = true},
|
||||||
|
sources = {
|
||||||
|
organizeImports = {
|
||||||
|
starThreshold = 9999,
|
||||||
|
staticStarThreshold = 9999
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
config.cmd = {"jdtls-start.sh", workspace_folder}
|
||||||
|
config.on_init = function(client, _)
|
||||||
|
client.notify("workspace/didChangeConfiguration", {settings = config.settings})
|
||||||
|
end
|
||||||
|
|
||||||
local workspace_folder = home .. "/.workspace" .. vim.fn.fnamemodify(root_dir, ":p:h:t")
|
local extendedClientCapabilities = require "jdtls".extendedClientCapabilities
|
||||||
local config = {
|
extendedClientCapabilities.resolveAdditionalTextEditsSupport = true
|
||||||
flags = {
|
config.init_options = {
|
||||||
allow_incremental_sync = true,
|
-- bundles = bundles;
|
||||||
};
|
extendedClientCapabilities = extendedClientCapabilities
|
||||||
on_attach = on_attach,
|
}
|
||||||
}
|
|
||||||
config.settings = {
|
|
||||||
java = {
|
|
||||||
signatureHelp = { enabled = true };
|
|
||||||
sources = {
|
|
||||||
organizeImports = {
|
|
||||||
starThreshold = 9999;
|
|
||||||
staticStarThreshold = 9999;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
config.cmd = {'jdtls-start.sh', workspace_folder}
|
|
||||||
config.on_init = function(client, _)
|
|
||||||
client.notify('workspace/didChangeConfiguration', { settings = config.settings })
|
|
||||||
end
|
|
||||||
|
|
||||||
local extendedClientCapabilities = require'jdtls'.extendedClientCapabilities
|
-- Server
|
||||||
extendedClientCapabilities.resolveAdditionalTextEditsSupport = true
|
require("jdtls").start_or_attach(config)
|
||||||
config.init_options = {
|
|
||||||
-- bundles = bundles;
|
|
||||||
extendedClientCapabilities = extendedClientCapabilities;
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Server
|
|
||||||
require('jdtls').start_or_attach(config)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
|
@ -5,24 +5,28 @@
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
M.on_attach = function(client, bufnr)
|
M.on_attach = function(client, bufnr)
|
||||||
local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
|
local function buf_set_keymap(...)
|
||||||
local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
|
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")
|
||||||
|
|
||||||
local default_opts = {noremap = true, silent = true}
|
local default_opts = {noremap = true, silent = true}
|
||||||
|
|
||||||
-- Lsp keymaps
|
-- Lsp keymaps
|
||||||
buf_set_keymap('n', '<C-]>', '<cmd>lua vim.lsp.buf.definition()<CR>', default_opts)
|
buf_set_keymap("n", "<C-]>", "<cmd>lua vim.lsp.buf.definition()<CR>", default_opts)
|
||||||
buf_set_keymap('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', default_opts)
|
buf_set_keymap("n", "gD", "<cmd>lua vim.lsp.buf.declaration()<CR>", default_opts)
|
||||||
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', default_opts)
|
buf_set_keymap("n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", default_opts)
|
||||||
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', default_opts)
|
buf_set_keymap("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", default_opts)
|
||||||
buf_set_keymap('n', '<Leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', default_opts)
|
buf_set_keymap("n", "<Leader>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", default_opts)
|
||||||
buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', default_opts)
|
buf_set_keymap("n", "<C-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", default_opts)
|
||||||
buf_set_keymap('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', default_opts)
|
buf_set_keymap("n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", default_opts)
|
||||||
buf_set_keymap('n', '<A-CR>', '<cmd>lua vim.lsp.buf.code_action()<CR>', default_opts)
|
buf_set_keymap("n", "<A-CR>", "<cmd>lua vim.lsp.buf.code_action()<CR>", default_opts)
|
||||||
buf_set_keymap('n', '<Leader>ac', '<cmd>lua vim.lsp.buf.code_action()<CR>', default_opts)
|
buf_set_keymap("n", "<Leader>ac", "<cmd>lua vim.lsp.buf.code_action()<CR>", default_opts)
|
||||||
buf_set_keymap('n', '<Leader>a', '<cmd>lua vim.lsp.buf.code_action_range()<CR>', default_opts)
|
buf_set_keymap("n", "<Leader>a", "<cmd>lua vim.lsp.buf.code_action_range()<CR>", default_opts)
|
||||||
end
|
end
|
||||||
|
|
||||||
return M;
|
return M
|
||||||
|
|
|
@ -5,46 +5,75 @@
|
||||||
local lspconfig = require("lspconfig")
|
local lspconfig = require("lspconfig")
|
||||||
local common_config = require("lsp.server_config")
|
local common_config = require("lsp.server_config")
|
||||||
|
|
||||||
local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities())
|
local capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities())
|
||||||
|
|
||||||
-- Lsp default language servers
|
-- Lsp default language servers
|
||||||
local servers = { "bashls", "clangd", "cucumber_language_server", "crystalline", "dockerls", "jsonls", "hls", "pyright", "rust_analyzer", "kotlin_language_server", "mint", "vimls", "clojure_lsp", "gopls", "gdscript", "solang", "terraformls", "tsserver" }
|
local servers = {
|
||||||
|
"bashls",
|
||||||
|
"clangd",
|
||||||
|
"cucumber_language_server",
|
||||||
|
"crystalline",
|
||||||
|
"dockerls",
|
||||||
|
"jsonls",
|
||||||
|
"hls",
|
||||||
|
"pyright",
|
||||||
|
"rust_analyzer",
|
||||||
|
"kotlin_language_server",
|
||||||
|
"mint",
|
||||||
|
"vimls",
|
||||||
|
"clojure_lsp",
|
||||||
|
"gopls",
|
||||||
|
"solang",
|
||||||
|
"terraformls",
|
||||||
|
"tsserver"
|
||||||
|
}
|
||||||
for _, lsp in ipairs(servers) do
|
for _, lsp in ipairs(servers) do
|
||||||
lspconfig[lsp].setup {
|
lspconfig[lsp].setup {
|
||||||
on_attach = common_config.on_attach,
|
on_attach = common_config.on_attach,
|
||||||
capabilities = capabilities
|
capabilities = capabilities
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Lua bultin lsp
|
lspconfig["gdscript"].setup {
|
||||||
require('nlua.lsp.nvim').setup(lspconfig, {
|
on_attach = common_config.on_attach,
|
||||||
on_attach = common_config.on_attach,
|
capabilities = capabilities,
|
||||||
capabilities = capabilities,
|
flags = {
|
||||||
|
-- Slow Godot LS
|
||||||
|
debounce_text_changes = 600
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
-- Include globals you want to tell the LSP are real :)
|
-- Lua bultin lsp
|
||||||
globals = {}
|
require("nlua.lsp.nvim").setup(
|
||||||
})
|
lspconfig,
|
||||||
|
{
|
||||||
|
on_attach = common_config.on_attach,
|
||||||
|
capabilities = capabilities,
|
||||||
|
-- Include globals you want to tell the LSP are real :)
|
||||||
|
globals = {}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
-- Flutter tools
|
-- Flutter tools
|
||||||
require('flutter-tools').setup {
|
require("flutter-tools").setup {
|
||||||
lsp = {
|
lsp = {
|
||||||
on_attach = common_config.on_attach,
|
on_attach = common_config.on_attach,
|
||||||
capabilities = capabilities
|
capabilities = capabilities
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Dotnet LS
|
-- Dotnet LS
|
||||||
local pid = vim.fn.getpid()
|
local pid = vim.fn.getpid()
|
||||||
local omnisharp_bin = vim.fn.glob('$HOME') .. "/lsp/dotnet/omnisharp/run"
|
local omnisharp_bin = vim.fn.glob("$HOME") .. "/lsp/dotnet/omnisharp/run"
|
||||||
lspconfig.omnisharp.setup {
|
lspconfig.omnisharp.setup {
|
||||||
cmd = { omnisharp_bin, "--languageserver" , "--hostPID", tostring(pid) };
|
cmd = {omnisharp_bin, "--languageserver", "--hostPID", tostring(pid)},
|
||||||
on_attach = common_config.on_attach;
|
on_attach = common_config.on_attach,
|
||||||
capabilities = capabilities
|
capabilities = capabilities
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Leminx (XML Language server)
|
-- Leminx (XML Language server)
|
||||||
lspconfig.lemminx.setup {
|
lspconfig.lemminx.setup {
|
||||||
cmd = { "lemminx" };
|
cmd = {"lemminx"},
|
||||||
on_attach = common_config.on_attach;
|
on_attach = common_config.on_attach,
|
||||||
capabilities = capabilities
|
capabilities = capabilities
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,30 +3,30 @@
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
local function get_vim_rest_home_dir()
|
local function get_vim_rest_home_dir()
|
||||||
vim.fn.mkdir(vim.env.NVIMHOME .. '/vim-rest-console', 'p')
|
vim.fn.mkdir(vim.env.NVIMHOME .. "/vim-rest-console", "p")
|
||||||
return vim.env.NVIMHOME .. '/vim-rest-console'
|
return vim.env.NVIMHOME .. "/vim-rest-console"
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Opens up a new tab if current buffer is not empty
|
-- Opens up a new tab if current buffer is not empty
|
||||||
local function new_tab_if_needed()
|
local function new_tab_if_needed()
|
||||||
if vim.api.nvim_buf_get_name('%') ~= '' then
|
if vim.api.nvim_buf_get_name("%") ~= "" then
|
||||||
-- Current buffer is not empty, open up a new tab
|
-- Current buffer is not empty, open up a new tab
|
||||||
vim.cmd('tabnew')
|
vim.cmd("tabnew")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function open_rest_console(file)
|
local function open_rest_console(file)
|
||||||
new_tab_if_needed()
|
new_tab_if_needed()
|
||||||
local ending = '.rest'
|
local ending = ".rest"
|
||||||
if file:sub(-#ending) ~= ending then
|
if file:sub(-(#ending)) ~= ending then
|
||||||
file = file .. '.rest'
|
file = file .. ".rest"
|
||||||
end
|
end
|
||||||
vim.cmd('e ' .. file)
|
vim.cmd("e " .. file)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function open_cached_rest_console(name)
|
local function open_cached_rest_console(name)
|
||||||
local dir = get_vim_rest_home_dir()
|
local dir = get_vim_rest_home_dir()
|
||||||
open_rest_console(dir .. '/' .. name)
|
open_rest_console(dir .. "/" .. name)
|
||||||
end
|
end
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
@ -37,32 +37,32 @@ local M = {}
|
||||||
|
|
||||||
-- Opens us a scratch rest console (not saved)
|
-- Opens us a scratch rest console (not saved)
|
||||||
function M.open_scratch_rest_console()
|
function M.open_scratch_rest_console()
|
||||||
new_tab_if_needed()
|
new_tab_if_needed()
|
||||||
vim.cmd('set ft=rest')
|
vim.cmd("set ft=rest")
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Opens up a rest console which can be saved -- cached by name
|
-- Opens up a rest console which can be saved -- cached by name
|
||||||
function M.open_cached_rest_console(...)
|
function M.open_cached_rest_console(...)
|
||||||
local name = select(1, ...)
|
local name = select(1, ...)
|
||||||
if (select('#', ...) == 0) then
|
if (select("#", ...) == 0) then
|
||||||
name = require'common.projects'.get_project_id()
|
name = require "common.projects".get_project_id()
|
||||||
end
|
end
|
||||||
open_cached_rest_console(name)
|
open_cached_rest_console(name)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Opens up a rest console which can be saved -- cached by name
|
-- Opens up a rest console which can be saved -- cached by name
|
||||||
function M.open_named_cached_rest_console(name)
|
function M.open_named_cached_rest_console(name)
|
||||||
name = require'common.projects'.get_project_id() .. name
|
name = require "common.projects".get_project_id() .. name
|
||||||
open_cached_rest_console(name)
|
open_cached_rest_console(name)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Opens up a rest console based on local file path
|
-- Opens up a rest console based on local file path
|
||||||
function M.open_local_rest_console(...)
|
function M.open_local_rest_console(...)
|
||||||
local file = select(1, ...)
|
local file = select(1, ...)
|
||||||
if (select('#', ...) == 0) then
|
if (select("#", ...) == 0) then
|
||||||
file = 'default'
|
file = "default"
|
||||||
end
|
end
|
||||||
open_rest_console(file)
|
open_rest_console(file)
|
||||||
end
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
|
@ -2,78 +2,79 @@
|
||||||
-- - Vimwiki extensions library -
|
-- - Vimwiki extensions library -
|
||||||
-- Relies on vimwiki-reviews-lua for its vimwiki API
|
-- Relies on vimwiki-reviews-lua for its vimwiki API
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
local api = require('vimwiki_reviews.vimwiki_api')
|
local api = require("vimwiki_reviews.vimwiki_api")
|
||||||
local utils = require('vimwiki_reviews.utils')
|
local utils = require("vimwiki_reviews.utils")
|
||||||
local templates = require('vimwiki_reviews.templates')
|
local templates = require("vimwiki_reviews.templates")
|
||||||
local Path = require('plenary.path')
|
local Path = require("plenary.path")
|
||||||
local scandir = require('plenary.scandir')
|
local scandir = require("plenary.scandir")
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
-- Gets path to any dir of provided vimwiki (by index)
|
-- Gets path to any dir of provided vimwiki (by index)
|
||||||
function M.get_vimwiki_subdir(vimwiki_index, directory)
|
function M.get_vimwiki_subdir(vimwiki_index, directory)
|
||||||
vimwiki_index = api.normalize_vimwiki_index(vimwiki_index)
|
vimwiki_index = api.normalize_vimwiki_index(vimwiki_index)
|
||||||
local vimwiki = vim.g.vimwiki_list[vimwiki_index]
|
local vimwiki = vim.g.vimwiki_list[vimwiki_index]
|
||||||
|
|
||||||
return vimwiki.path .. directory .. '/'
|
return vimwiki.path .. directory .. "/"
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.get_directory_index(vimwiki_index, directory)
|
function M.get_directory_index(vimwiki_index, directory)
|
||||||
local dir = M.get_vimwiki_subdir(vimwiki_index, directory)
|
local dir = M.get_vimwiki_subdir(vimwiki_index, directory)
|
||||||
local path = Path:new(dir):expand()
|
local path = Path:new(dir):expand()
|
||||||
|
|
||||||
local entries = scandir.scan_dir(
|
local entries =
|
||||||
path,
|
scandir.scan_dir(
|
||||||
{
|
path,
|
||||||
hidden = false,
|
{
|
||||||
add_dirs = false,
|
hidden = false,
|
||||||
respect_gitignore = true,
|
add_dirs = false,
|
||||||
depth = 1
|
respect_gitignore = true,
|
||||||
})
|
depth = 1
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
local index = {}
|
local index = {}
|
||||||
|
|
||||||
for _,entry in pairs(entries) do
|
for _, entry in pairs(entries) do
|
||||||
local filename = utils.get_filename_from_path(entry)
|
local filename = utils.get_filename_from_path(entry)
|
||||||
local ext = api.get_vimwiki_extension(vimwiki_index)
|
local ext = api.get_vimwiki_extension(vimwiki_index)
|
||||||
local noext = string.gsub(filename, ext, '')
|
local noext = string.gsub(filename, ext, "")
|
||||||
|
|
||||||
index[noext] = filename
|
index[noext] = filename
|
||||||
end
|
end
|
||||||
|
|
||||||
table.sort(index)
|
table.sort(index)
|
||||||
return index
|
return index
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Open subdirectory index file
|
-- Open subdirectory index file
|
||||||
function M.open_subdirectory_index_file(vimwiki_index, subdirectory)
|
function M.open_subdirectory_index_file(vimwiki_index, subdirectory)
|
||||||
local dir = M.get_vimwiki_subdir(vimwiki_index, subdirectory)
|
local dir = M.get_vimwiki_subdir(vimwiki_index, subdirectory)
|
||||||
local ext = api.get_vimwiki_extension(vimwiki_index)
|
local ext = api.get_vimwiki_extension(vimwiki_index)
|
||||||
local filename = dir .. 'index' .. ext
|
local filename = dir .. "index" .. ext
|
||||||
vim.cmd('edit ' .. filename)
|
vim.cmd("edit " .. filename)
|
||||||
|
|
||||||
local index = M.get_directory_index(vimwiki_index, subdirectory)
|
local index = M.get_directory_index(vimwiki_index, subdirectory)
|
||||||
|
|
||||||
local builder = templates.for_vimwiki(vimwiki_index)
|
local builder = templates.for_vimwiki(vimwiki_index)
|
||||||
|
|
||||||
local lines = {
|
local lines = {
|
||||||
builder.header(1, subdirectory:sub(1,1):upper()..subdirectory:sub(2)),
|
builder.header(1, subdirectory:sub(1, 1):upper() .. subdirectory:sub(2)),
|
||||||
'',
|
""
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Add items
|
-- Add items
|
||||||
for title, fname in pairs(index) do
|
for title, fname in pairs(index) do
|
||||||
if (title ~= 'index')
|
if (title ~= "index") then
|
||||||
then
|
title = string.gsub(title, "-", " ")
|
||||||
title = string.gsub(title, '-', ' ')
|
title = title:sub(1, 1):upper() .. title:sub(2)
|
||||||
title = title:sub(1,1):upper()..title:sub(2)
|
table.insert(lines, builder.list_item(builder.link(fname, title)))
|
||||||
table.insert(lines, builder.list_item(builder.link(fname, title)))
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
local buf = vim.api.nvim_get_current_buf()
|
local buf = vim.api.nvim_get_current_buf()
|
||||||
vim.api.nvim_buf_set_lines(buf, 0, -1, false, {}) -- Clear out
|
vim.api.nvim_buf_set_lines(buf, 0, -1, false, {}) -- Clear out
|
||||||
vim.api.nvim_buf_set_lines(buf, 0, -1, false, lines) -- Put new contents
|
vim.api.nvim_buf_set_lines(buf, 0, -1, false, lines) -- Put new contents
|
||||||
end
|
end
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
-- - NeoVim DAP (Debug Adapter Protocol) config -
|
-- - NeoVim DAP (Debug Adapter Protocol) config -
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
local dap = require('dap')
|
local dap = require("dap")
|
||||||
local dap_install = require('dap-install')
|
local dap_install = require("dap-install")
|
||||||
|
|
||||||
local dbg_list = require("dap-install.api.debuggers").get_installed_debuggers()
|
local dbg_list = require("dap-install.api.debuggers").get_installed_debuggers()
|
||||||
|
|
||||||
for _, debugger in ipairs(dbg_list) do
|
for _, debugger in ipairs(dbg_list) do
|
||||||
dap_install.config(debugger)
|
dap_install.config(debugger)
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.cmd [[ au FileType dap-repl lua require('dap.ext.autocompl').attach() ]]
|
vim.cmd [[ au FileType dap-repl lua require('dap.ext.autocompl').attach() ]]
|
||||||
|
@ -17,14 +17,16 @@ vim.cmd [[ au FileType dap-repl lua require('dap.ext.autocompl').attach() ]]
|
||||||
require("nvim-dap-virtual-text").setup()
|
require("nvim-dap-virtual-text").setup()
|
||||||
|
|
||||||
-- Keymaps
|
-- Keymaps
|
||||||
local function set_keymap(...) vim.api.nvim_set_keymap(...) end
|
local function set_keymap(...)
|
||||||
|
vim.api.nvim_set_keymap(...)
|
||||||
|
end
|
||||||
|
|
||||||
local default_opts = {noremap = true, silent = true}
|
local default_opts = {noremap = true, silent = true}
|
||||||
set_keymap('n', '<Leader>db', "<cmd>lua require'dap'.toggle_breakpoint()<CR>", default_opts)
|
set_keymap("n", "<Leader>db", "<cmd>lua require'dap'.toggle_breakpoint()<CR>", default_opts)
|
||||||
set_keymap('n', '<Leader>dc', "<cmd>lua require'dap'.continue()<CR>", default_opts)
|
set_keymap("n", "<Leader>dc", "<cmd>lua require'dap'.continue()<CR>", default_opts)
|
||||||
set_keymap('n', '<Leader>dso', "<cmd>lua require'dap'.step_over()<CR>", default_opts)
|
set_keymap("n", "<Leader>dso", "<cmd>lua require'dap'.step_over()<CR>", default_opts)
|
||||||
set_keymap('n', '<Leader>dsi', "<cmd>lua require'dap'.step_into()<CR>", default_opts)
|
set_keymap("n", "<Leader>dsi", "<cmd>lua require'dap'.step_into()<CR>", default_opts)
|
||||||
set_keymap('n', '<Leader>dro', "<cmd>lua require'dap'.open()<CR>", default_opts)
|
set_keymap("n", "<Leader>dro", "<cmd>lua require'dap'.open()<CR>", default_opts)
|
||||||
|
|
||||||
-- Nvim DAP UI
|
-- Nvim DAP UI
|
||||||
require("dapui").setup()
|
require("dapui").setup()
|
||||||
|
@ -32,29 +34,22 @@ require("dapui").setup()
|
||||||
-- Debugger Hover map
|
-- Debugger Hover map
|
||||||
local api = vim.api
|
local api = vim.api
|
||||||
local keymap_restore = {}
|
local keymap_restore = {}
|
||||||
dap.listeners.after['event_initialized']['me'] = function()
|
dap.listeners.after["event_initialized"]["me"] = function()
|
||||||
for _, buf in pairs(api.nvim_list_bufs()) do
|
for _, buf in pairs(api.nvim_list_bufs()) do
|
||||||
local keymaps = api.nvim_buf_get_keymap(buf, 'n')
|
local keymaps = api.nvim_buf_get_keymap(buf, "n")
|
||||||
for _, keymap in pairs(keymaps) do
|
for _, keymap in pairs(keymaps) do
|
||||||
if keymap.lhs == "K" then
|
if keymap.lhs == "K" then
|
||||||
table.insert(keymap_restore, keymap)
|
table.insert(keymap_restore, keymap)
|
||||||
api.nvim_buf_del_keymap(buf, 'n', 'K')
|
api.nvim_buf_del_keymap(buf, "n", "K")
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
api.nvim_set_keymap("n", "K", '<Cmd>lua require("dap.ui.variables").hover()<CR>', {silent = true})
|
||||||
api.nvim_set_keymap(
|
|
||||||
'n', 'K', '<Cmd>lua require("dap.ui.variables").hover()<CR>', { silent = true })
|
|
||||||
end
|
end
|
||||||
|
|
||||||
dap.listeners.after['event_terminated']['me'] = function()
|
dap.listeners.after["event_terminated"]["me"] = function()
|
||||||
for _, keymap in pairs(keymap_restore) do
|
for _, keymap in pairs(keymap_restore) do
|
||||||
api.nvim_buf_set_keymap(
|
api.nvim_buf_set_keymap(keymap.buffer, keymap.mode, keymap.lhs, keymap.rhs, {silent = keymap.silent == 1})
|
||||||
keymap.buffer,
|
end
|
||||||
keymap.mode,
|
keymap_restore = {}
|
||||||
keymap.lhs,
|
|
||||||
keymap.rhs,
|
|
||||||
{ silent = keymap.silent == 1 }
|
|
||||||
)
|
|
||||||
end
|
|
||||||
keymap_restore = {}
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,15 +2,15 @@
|
||||||
-- - Fugitive.vim setup and extra commands -
|
-- - Fugitive.vim setup and extra commands -
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
vim.cmd[[command! -nargs=0 Ggpush :lua require('fugitive_extensions').push_origin()]]
|
vim.cmd [[command! -nargs=0 Ggpush :lua require('fugitive_extensions').push_origin()]]
|
||||||
vim.cmd[[command! -nargs=0 Ggpull :lua require('fugitive_extensions').pull_origin()]]
|
vim.cmd [[command! -nargs=0 Ggpull :lua require('fugitive_extensions').pull_origin()]]
|
||||||
vim.cmd[[command! -nargs=? Gpropen :lua require('fugitive_extensions').open_new_pr(<f-args>)]]
|
vim.cmd [[command! -nargs=? Gpropen :lua require('fugitive_extensions').open_new_pr(<f-args>)]]
|
||||||
vim.cmd[[command! -nargs=? Gpr Gpropen <args>]]
|
vim.cmd [[command! -nargs=? Gpr Gpropen <args>]]
|
||||||
vim.cmd[[command! -nargs=? Gprprint :lua require('fugitive_extensions').print_pr_url(<f-args>)]]
|
vim.cmd [[command! -nargs=? Gprprint :lua require('fugitive_extensions').print_pr_url(<f-args>)]]
|
||||||
vim.cmd[[command! -nargs=? Gprcopy :lua require('fugitive_extensions').copy_pr_url(<f-args>)]]
|
vim.cmd [[command! -nargs=? Gprcopy :lua require('fugitive_extensions').copy_pr_url(<f-args>)]]
|
||||||
vim.cmd[[command! -nargs=1 Gcbranch :lua require('fugitive_extensions').create_branch(<f-args>)]]
|
vim.cmd [[command! -nargs=1 Gcbranch :lua require('fugitive_extensions').create_branch(<f-args>)]]
|
||||||
vim.cmd[[command! -nargs=0 Gcmaster :lua require('fugitive_extensions').checkout_branch('main')]]
|
vim.cmd [[command! -nargs=0 Gcmaster :lua require('fugitive_extensions').checkout_branch('main')]]
|
||||||
vim.cmd[[command! -nargs=0 Gcm Gcmaster]]
|
vim.cmd [[command! -nargs=0 Gcm Gcmaster]]
|
||||||
vim.cmd[[command! -nargs=0 Gcdev :lua require('fugitive_extensions').checkout_branch('develop')]]
|
vim.cmd [[command! -nargs=0 Gcdev :lua require('fugitive_extensions').checkout_branch('develop')]]
|
||||||
vim.cmd[[command! -nargs=1 Gcheckout :lua require('fugitive_extensions').checkout_branch(<f-args>)]]
|
vim.cmd [[command! -nargs=1 Gcheckout :lua require('fugitive_extensions').checkout_branch(<f-args>)]]
|
||||||
vim.cmd[[command! -nargs=1 Gc Gcheckout <args>]]
|
vim.cmd [[command! -nargs=1 Gc Gcheckout <args>]]
|
||||||
|
|
|
@ -1,481 +1,481 @@
|
||||||
local vim_readme_template = {
|
local vim_readme_template = {
|
||||||
"# Name",
|
"# Name",
|
||||||
"",
|
"",
|
||||||
"## Requirements",
|
"## Requirements",
|
||||||
"",
|
"",
|
||||||
"## Installation",
|
"## Installation",
|
||||||
"",
|
"",
|
||||||
"## Usage",
|
"## Usage",
|
||||||
"",
|
"",
|
||||||
"### Commands",
|
"### Commands",
|
||||||
"",
|
"",
|
||||||
"### Keymaps",
|
"### Keymaps",
|
||||||
"",
|
"",
|
||||||
"## License",
|
"## License",
|
||||||
"",
|
"",
|
||||||
"[LICENSE NAME](LICENSE)"
|
"[LICENSE NAME](LICENSE)"
|
||||||
}
|
}
|
||||||
|
|
||||||
local vim_doc_template = {
|
local vim_doc_template = {
|
||||||
"*{}.txt* Description",
|
"*{}.txt* Description",
|
||||||
"",
|
"",
|
||||||
"INTRODUCTION *{}*",
|
"INTRODUCTION *{}*",
|
||||||
"",
|
"",
|
||||||
"Description",
|
"Description",
|
||||||
"",
|
"",
|
||||||
"CONTENTS *{}-contents*",
|
"CONTENTS *{}-contents*",
|
||||||
"",
|
"",
|
||||||
" 1. Overview |{}-overview|",
|
" 1. Overview |{}-overview|",
|
||||||
" 2. Requirements |{}-requirements|",
|
" 2. Requirements |{}-requirements|",
|
||||||
" 3. Installation |{}-installation|",
|
" 3. Installation |{}-installation|",
|
||||||
" 4. Usage |{}-usage|",
|
" 4. Usage |{}-usage|",
|
||||||
" 5. Commands |{}-commands|",
|
" 5. Commands |{}-commands|",
|
||||||
" 6. Functions |{}-functions|",
|
" 6. Functions |{}-functions|",
|
||||||
" 7. Mappings |{}-mappings|",
|
" 7. Mappings |{}-mappings|",
|
||||||
" 8. Plugs |{}-plugs|",
|
" 8. Plugs |{}-plugs|",
|
||||||
" 9. Options |{}-options|",
|
" 9. Options |{}-options|",
|
||||||
" 10. Issues |{}-issues|",
|
" 10. Issues |{}-issues|",
|
||||||
" 11. Contributing |{}-contributing|",
|
" 11. Contributing |{}-contributing|",
|
||||||
" 12. Version |{}-version|",
|
" 12. Version |{}-version|",
|
||||||
" 13. License |{}-license|",
|
" 13. License |{}-license|",
|
||||||
"",
|
"",
|
||||||
"OVERVIEW *{}-overview*",
|
"OVERVIEW *{}-overview*",
|
||||||
"",
|
"",
|
||||||
"REQUIREMENTS *{}-requirements*",
|
"REQUIREMENTS *{}-requirements*",
|
||||||
"",
|
"",
|
||||||
"INSTALLATION *{}-installation*",
|
"INSTALLATION *{}-installation*",
|
||||||
"",
|
"",
|
||||||
" 1. Plug <https://github.com/junegunn/vim-plug>",
|
" 1. Plug <https://github.com/junegunn/vim-plug>",
|
||||||
"",
|
"",
|
||||||
" Add the following to your vimrc, or something sourced therein: >",
|
" Add the following to your vimrc, or something sourced therein: >",
|
||||||
"",
|
"",
|
||||||
" Plug 'esensar/{}'",
|
" Plug 'esensar/{}'",
|
||||||
"<",
|
"<",
|
||||||
" Then install via `:PlugInstall`",
|
" Then install via `:PlugInstall`",
|
||||||
"",
|
"",
|
||||||
" 2. Pathogen <https://github.com/tpope/vim-pathogen> >",
|
" 2. Pathogen <https://github.com/tpope/vim-pathogen> >",
|
||||||
"",
|
"",
|
||||||
" cd ~/.vim/bundle",
|
" cd ~/.vim/bundle",
|
||||||
" git clone https://github.com/esensar/{}.git",
|
" git clone https://github.com/esensar/{}.git",
|
||||||
"<",
|
"<",
|
||||||
" Then run `:Helptags`",
|
" Then run `:Helptags`",
|
||||||
"",
|
"",
|
||||||
" 3. Manual",
|
" 3. Manual",
|
||||||
"",
|
"",
|
||||||
" Clone this repository and copy the files in plugin/, autoload/, and doc/",
|
" Clone this repository and copy the files in plugin/, autoload/, and doc/",
|
||||||
" to their respective directories in your vimfiles, or copy the text from",
|
" to their respective directories in your vimfiles, or copy the text from",
|
||||||
" the github repository into new files in those directories. Make sure to",
|
" the github repository into new files in those directories. Make sure to",
|
||||||
" run `:helptags`.",
|
" run `:helptags`.",
|
||||||
"",
|
"",
|
||||||
"USAGE *{}-usage*",
|
"USAGE *{}-usage*",
|
||||||
"",
|
"",
|
||||||
"COMMANDS *{}-commands*",
|
"COMMANDS *{}-commands*",
|
||||||
"",
|
"",
|
||||||
"FUNCTIONS *{}-functions*",
|
"FUNCTIONS *{}-functions*",
|
||||||
"",
|
"",
|
||||||
"MAPPINGS *{}-mappings*",
|
"MAPPINGS *{}-mappings*",
|
||||||
"",
|
"",
|
||||||
"PLUGS *{}-plugs*",
|
"PLUGS *{}-plugs*",
|
||||||
"",
|
"",
|
||||||
"OPTIONS *{}-options*",
|
"OPTIONS *{}-options*",
|
||||||
"",
|
"",
|
||||||
"ISSUES *{}-issues*",
|
"ISSUES *{}-issues*",
|
||||||
"",
|
"",
|
||||||
"If you experience issues using {}, please report them at",
|
"If you experience issues using {}, please report them at",
|
||||||
"<https://github.com/esensar/{}/issues>.",
|
"<https://github.com/esensar/{}/issues>.",
|
||||||
"",
|
"",
|
||||||
"CONTRIBUTING *{}-contributing*",
|
"CONTRIBUTING *{}-contributing*",
|
||||||
"",
|
"",
|
||||||
"Feel free to look at already reported issues at ",
|
"Feel free to look at already reported issues at ",
|
||||||
"<https://github.com/esensar/{}/issues>.",
|
"<https://github.com/esensar/{}/issues>.",
|
||||||
"If available, check out CONTRIBUTING.md in the repository.",
|
"If available, check out CONTRIBUTING.md in the repository.",
|
||||||
"Otherwise, feel free to create a new issue or pull request.",
|
"Otherwise, feel free to create a new issue or pull request.",
|
||||||
"",
|
"",
|
||||||
"VERSION *{}-version*",
|
"VERSION *{}-version*",
|
||||||
"",
|
"",
|
||||||
"Version 1.0.0",
|
"Version 1.0.0",
|
||||||
"",
|
"",
|
||||||
"LICENSE *{}-license*",
|
"LICENSE *{}-license*",
|
||||||
"",
|
"",
|
||||||
"vim:tw=78:ts=2:ft=help:norl:"
|
"vim:tw=78:ts=2:ft=help:norl:"
|
||||||
}
|
}
|
||||||
|
|
||||||
local flutter_config = {
|
local flutter_config = {
|
||||||
["*"] = {
|
["*"] = {
|
||||||
start = "flutter run"
|
start = "flutter run"
|
||||||
},
|
},
|
||||||
["lib/*.dart"] = {
|
["lib/*.dart"] = {
|
||||||
alternate = "test/{}_test.dart",
|
alternate = "test/{}_test.dart",
|
||||||
type = "source"
|
type = "source"
|
||||||
},
|
},
|
||||||
["test/*_test.dart"] = {
|
["test/*_test.dart"] = {
|
||||||
alternate = "lib/{}.dart",
|
alternate = "lib/{}.dart",
|
||||||
type = "test",
|
type = "test",
|
||||||
template = {
|
template = {
|
||||||
"import 'package:flutter_test/flutter_test.dart';",
|
"import 'package:flutter_test/flutter_test.dart';",
|
||||||
"",
|
"",
|
||||||
"import 'package:flutter_template/{}.dart';",
|
"import 'package:flutter_template/{}.dart';",
|
||||||
"",
|
"",
|
||||||
"void main() {",
|
"void main() {",
|
||||||
" testWidgets('', (WidgetTester tester) async {",
|
" testWidgets('', (WidgetTester tester) async {",
|
||||||
" });",
|
" });",
|
||||||
"}"
|
"}"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
local python_config = {
|
local python_config = {
|
||||||
["*.py"] = {
|
["*.py"] = {
|
||||||
alternate = "tests/{dirname}/test_{basename}.py",
|
alternate = "tests/{dirname}/test_{basename}.py",
|
||||||
type = "source"
|
type = "source"
|
||||||
},
|
},
|
||||||
["tests/**/test_*.py"] = {
|
["tests/**/test_*.py"] = {
|
||||||
alternate = "{dirname}/{basename}.py",
|
alternate = "{dirname}/{basename}.py",
|
||||||
type = "test",
|
type = "test",
|
||||||
template = {
|
template = {
|
||||||
"import unittest",
|
"import unittest",
|
||||||
"from unittest import mock",
|
"from unittest import mock",
|
||||||
"",
|
"",
|
||||||
"class {dirname|underscore|camelcase|capitalize}{basename|camelcase|capitalize}Test(unittest.TestCase):",
|
"class {dirname|underscore|camelcase|capitalize}{basename|camelcase|capitalize}Test(unittest.TestCase):",
|
||||||
" pass",
|
" pass",
|
||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
"if __name__ == \"__main__\":",
|
'if __name__ == "__main__":',
|
||||||
" unittest.main()"
|
" unittest.main()"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
local dotnet_solution_config = {
|
local dotnet_solution_config = {
|
||||||
["src/**/Controllers/*.cs"] = {
|
["src/**/Controllers/*.cs"] = {
|
||||||
type = "controller",
|
type = "controller",
|
||||||
alternate = {
|
alternate = {
|
||||||
"tests/{dirname}.Tests/Controllers/{basename}Tests.cs",
|
"tests/{dirname}.Tests/Controllers/{basename}Tests.cs",
|
||||||
"tests/{dirname}.IntegrationTests/Controllers/{basename}Tests.cs"
|
"tests/{dirname}.IntegrationTests/Controllers/{basename}Tests.cs"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
["src/**/Models/*.cs"] = {
|
||||||
|
type = "model",
|
||||||
|
alternate = "tests/{dirname}.Tests/Models/{basename}Tests.cs"
|
||||||
|
},
|
||||||
|
["src/**/Views/*.cshtml"] = {
|
||||||
|
type = "view",
|
||||||
|
alternate = "tests/{dirname}.Tests/Views/{basename}Tests.cs"
|
||||||
|
},
|
||||||
|
["src/**/Services/*.cs"] = {
|
||||||
|
type = "service",
|
||||||
|
alternate = "tests/{dirname}.Tests/Services/{basename}Tests.cs"
|
||||||
|
},
|
||||||
|
["src/**/Extensions/*.cs"] = {
|
||||||
|
type = "extension",
|
||||||
|
alternate = "tests/{dirname}.Tests/Extensions/{basename}Tests.cs"
|
||||||
|
},
|
||||||
|
["*.csproj"] = {
|
||||||
|
type = "project"
|
||||||
|
},
|
||||||
|
["src/**/appsettings*json"] = {
|
||||||
|
type = "appsettings"
|
||||||
|
},
|
||||||
|
["src/*.cs"] = {
|
||||||
|
type = "source",
|
||||||
|
alternate = "tests/{dirname}.Tests/{basename}Tests.cs",
|
||||||
|
template = {
|
||||||
|
"using System;",
|
||||||
|
"",
|
||||||
|
"namespace {dirname|dot}",
|
||||||
|
"{",
|
||||||
|
" public class {basename}",
|
||||||
|
" {",
|
||||||
|
" }",
|
||||||
|
"}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
["tests/**.IntegrationTests/Controllers/*Tests.cs"] = {
|
||||||
|
type = "test",
|
||||||
|
alternate = "src/{dirname}/Controllers/{basename}.cs"
|
||||||
|
},
|
||||||
|
["tests/**.Tests/Controllers/*Tests.cs"] = {
|
||||||
|
type = "test",
|
||||||
|
alternate = "src/{dirname}/Controllers/{basename}.cs"
|
||||||
|
},
|
||||||
|
["tests/**.Tests/Views/*Tests.cs"] = {
|
||||||
|
type = "test",
|
||||||
|
alternate = "src/{dirname}/Views/{basename}.cs"
|
||||||
|
},
|
||||||
|
["tests/**.Tests/Models/*Tests.cs"] = {
|
||||||
|
type = "test",
|
||||||
|
alternate = "src/{dirname}/Models/{basename}.cs"
|
||||||
|
},
|
||||||
|
["tests/**.Tests/Services/*Tests.cs"] = {
|
||||||
|
type = "test",
|
||||||
|
alternate = "src/{dirname}/Services/{basename}.cs"
|
||||||
|
},
|
||||||
|
["tests/**.Tests/Extensions/*Tests.cs"] = {
|
||||||
|
type = "test",
|
||||||
|
alternate = "src/{dirname}/Extensions/{basename}.cs"
|
||||||
|
},
|
||||||
|
["tests/*Tests.cs"] = {
|
||||||
|
type = "test",
|
||||||
|
alternate = "src/{dirname}/{basename}.cs",
|
||||||
|
template = {
|
||||||
|
"using System;",
|
||||||
|
"",
|
||||||
|
"namespace {dirname|dot}",
|
||||||
|
"{",
|
||||||
|
" public class {basename}Tests",
|
||||||
|
" {",
|
||||||
|
" }",
|
||||||
|
"}"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
["src/**/Models/*.cs"] = {
|
|
||||||
type = "model",
|
|
||||||
alternate = "tests/{dirname}.Tests/Models/{basename}Tests.cs"
|
|
||||||
},
|
|
||||||
["src/**/Views/*.cshtml"] = {
|
|
||||||
type = "view",
|
|
||||||
alternate = "tests/{dirname}.Tests/Views/{basename}Tests.cs"
|
|
||||||
},
|
|
||||||
["src/**/Services/*.cs"] = {
|
|
||||||
type = "service",
|
|
||||||
alternate = "tests/{dirname}.Tests/Services/{basename}Tests.cs"
|
|
||||||
},
|
|
||||||
["src/**/Extensions/*.cs"] = {
|
|
||||||
type = "extension",
|
|
||||||
alternate = "tests/{dirname}.Tests/Extensions/{basename}Tests.cs"
|
|
||||||
},
|
|
||||||
["*.csproj"] = {
|
|
||||||
type = "project"
|
|
||||||
},
|
|
||||||
["src/**/appsettings*json"] = {
|
|
||||||
type = "appsettings"
|
|
||||||
},
|
|
||||||
["src/*.cs"] = {
|
|
||||||
type = "source",
|
|
||||||
alternate = "tests/{dirname}.Tests/{basename}Tests.cs",
|
|
||||||
template = {
|
|
||||||
"using System;",
|
|
||||||
"",
|
|
||||||
"namespace {dirname|dot}",
|
|
||||||
"{",
|
|
||||||
" public class {basename}",
|
|
||||||
" {",
|
|
||||||
" }",
|
|
||||||
"}"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
["tests/**.IntegrationTests/Controllers/*Tests.cs"] = {
|
|
||||||
type = "test",
|
|
||||||
alternate = "src/{dirname}/Controllers/{basename}.cs"
|
|
||||||
},
|
|
||||||
["tests/**.Tests/Controllers/*Tests.cs"] = {
|
|
||||||
type = "test",
|
|
||||||
alternate = "src/{dirname}/Controllers/{basename}.cs"
|
|
||||||
},
|
|
||||||
["tests/**.Tests/Views/*Tests.cs"] = {
|
|
||||||
type = "test",
|
|
||||||
alternate = "src/{dirname}/Views/{basename}.cs"
|
|
||||||
},
|
|
||||||
["tests/**.Tests/Models/*Tests.cs"] = {
|
|
||||||
type = "test",
|
|
||||||
alternate = "src/{dirname}/Models/{basename}.cs"
|
|
||||||
},
|
|
||||||
["tests/**.Tests/Services/*Tests.cs"] = {
|
|
||||||
type = "test",
|
|
||||||
alternate = "src/{dirname}/Services/{basename}.cs"
|
|
||||||
},
|
|
||||||
["tests/**.Tests/Extensions/*Tests.cs"] = {
|
|
||||||
type = "test",
|
|
||||||
alternate = "src/{dirname}/Extensions/{basename}.cs"
|
|
||||||
},
|
|
||||||
["tests/*Tests.cs"] = {
|
|
||||||
type = "test",
|
|
||||||
alternate = "src/{dirname}/{basename}.cs",
|
|
||||||
template = {
|
|
||||||
"using System;",
|
|
||||||
"",
|
|
||||||
"namespace {dirname|dot}",
|
|
||||||
"{",
|
|
||||||
" public class {basename}Tests",
|
|
||||||
" {",
|
|
||||||
" }",
|
|
||||||
"}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
local vim_plugin_config = {
|
local vim_plugin_config = {
|
||||||
["doc/*.txt"] = {
|
["doc/*.txt"] = {
|
||||||
type = "help",
|
type = "help",
|
||||||
template = vim_doc_template
|
template = vim_doc_template
|
||||||
},
|
},
|
||||||
["autoload/*.vim"] = {
|
["autoload/*.vim"] = {
|
||||||
type = "autoload",
|
type = "autoload",
|
||||||
alternate = "test/{}.vader"
|
alternate = "test/{}.vader"
|
||||||
},
|
},
|
||||||
["test/*.vader"] = {
|
["test/*.vader"] = {
|
||||||
type = "test",
|
type = "test",
|
||||||
altername = "autoload/{}.vim"
|
altername = "autoload/{}.vim"
|
||||||
},
|
},
|
||||||
["plugin/*.vim"] = {
|
["plugin/*.vim"] = {
|
||||||
type = "plugin",
|
type = "plugin",
|
||||||
template = {
|
template = {
|
||||||
"if exists(\"g:loaded_{}\") || &cp | finish | endif",
|
'if exists("g:loaded_{}") || &cp | finish | endif',
|
||||||
"",
|
"",
|
||||||
"let g:loaded_{} = 1"
|
"let g:loaded_{} = 1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
["README.md"] = {
|
||||||
|
template = vim_readme_template
|
||||||
}
|
}
|
||||||
},
|
|
||||||
["README.md"] = {
|
|
||||||
template = vim_readme_template
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
local lua_vim_plugin_config = {
|
local lua_vim_plugin_config = {
|
||||||
["doc/*.txt"] = {
|
["doc/*.txt"] = {
|
||||||
type = "help",
|
type = "help",
|
||||||
template = vim_doc_template
|
template = vim_doc_template
|
||||||
},
|
},
|
||||||
["plugin/*.vim"] = {
|
["plugin/*.vim"] = {
|
||||||
type = "plugin",
|
type = "plugin",
|
||||||
template = {
|
template = {
|
||||||
"if exists(\"g:loaded_{}\") || &cp | finish | endif",
|
'if exists("g:loaded_{}") || &cp | finish | endif',
|
||||||
"",
|
"",
|
||||||
"let g:loaded_{} = 1"
|
"let g:loaded_{} = 1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
["lua/*.lua"] = {
|
||||||
|
type = "source",
|
||||||
|
alternate = "test/{}.lua"
|
||||||
|
},
|
||||||
|
["test/*.lua"] = {
|
||||||
|
type = "test",
|
||||||
|
alternate = "lua/{}.lua"
|
||||||
|
},
|
||||||
|
["README.md"] = {
|
||||||
|
template = vim_readme_template
|
||||||
}
|
}
|
||||||
},
|
|
||||||
["lua/*.lua"] = {
|
|
||||||
type = "source",
|
|
||||||
alternate = "test/{}.lua"
|
|
||||||
},
|
|
||||||
["test/*.lua"] = {
|
|
||||||
type = "test",
|
|
||||||
alternate = "lua/{}.lua"
|
|
||||||
},
|
|
||||||
["README.md"] = {
|
|
||||||
template = vim_readme_template
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
local csharp_project_config = {
|
local csharp_project_config = {
|
||||||
["*"] = {
|
["*"] = {
|
||||||
start = "dotnet run",
|
start = "dotnet run",
|
||||||
console = "dotnet fsi"
|
console = "dotnet fsi"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
local java_project_config = {
|
local java_project_config = {
|
||||||
["src/main/java/*.java"] = {
|
["src/main/java/*.java"] = {
|
||||||
type = "source",
|
type = "source",
|
||||||
template = {
|
template = {
|
||||||
"package {dirname|dot};",
|
"package {dirname|dot};",
|
||||||
"",
|
"",
|
||||||
"public class {basename} {open}",
|
"public class {basename} {open}",
|
||||||
"{close}"
|
"{close}"
|
||||||
|
},
|
||||||
|
alternate = "src/test/java/{}Test.java"
|
||||||
},
|
},
|
||||||
alternate = "src/test/java/{}Test.java"
|
["src/test/java/*Test.java"] = {
|
||||||
},
|
type = "test",
|
||||||
["src/test/java/*Test.java"] = {
|
template = {
|
||||||
type = "test",
|
"package {dirname|dot};",
|
||||||
template = {
|
"",
|
||||||
"package {dirname|dot};",
|
"public class {basename}Test {open}",
|
||||||
"",
|
"{close}"
|
||||||
"public class {basename}Test {open}",
|
},
|
||||||
"{close}"
|
alternate = "src/main/java/{}.java"
|
||||||
},
|
},
|
||||||
alternate = "src/main/java/{}.java"
|
["src/main/java/module-info.java"] = {
|
||||||
},
|
type = "moduleinfo"
|
||||||
["src/main/java/module-info.java"] = {
|
},
|
||||||
type = "moduleinfo",
|
["src/main/java/**/package-info.java"] = {
|
||||||
},
|
type = "packageinfo"
|
||||||
["src/main/java/**/package-info.java"] = {
|
},
|
||||||
type = "packageinfo",
|
["src/main/resources/*"] = {
|
||||||
},
|
type = "resource"
|
||||||
["src/main/resources/*"] = {
|
},
|
||||||
type = "resource"
|
["src/test/resources/*"] = {
|
||||||
},
|
type = "testresource"
|
||||||
["src/test/resources/*"] = {
|
}
|
||||||
type = "testresource"
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
local kotlin_project_config = {
|
local kotlin_project_config = {
|
||||||
["src/main/kotlin/*.kt"] = {
|
["src/main/kotlin/*.kt"] = {
|
||||||
type = "source",
|
type = "source",
|
||||||
template = {
|
template = {
|
||||||
"package {dirname|dot}",
|
"package {dirname|dot}",
|
||||||
"",
|
"",
|
||||||
"class {basename} {open}",
|
"class {basename} {open}",
|
||||||
"{close}"
|
"{close}"
|
||||||
|
},
|
||||||
|
alternate = "src/test/kotlin/{}Test.kt"
|
||||||
},
|
},
|
||||||
alternate = "src/test/kotlin/{}Test.kt"
|
["src/main/java/*.kt"] = {
|
||||||
},
|
type = "source",
|
||||||
["src/main/java/*.kt"] = {
|
template = {
|
||||||
type = "source",
|
"package {dirname|dot}",
|
||||||
template = {
|
"",
|
||||||
"package {dirname|dot}",
|
"class {basename} {open}",
|
||||||
"",
|
"{close}"
|
||||||
"class {basename} {open}",
|
},
|
||||||
"{close}"
|
alternate = "src/test/java/{}Test.kt"
|
||||||
},
|
},
|
||||||
alternate = "src/test/java/{}Test.kt"
|
["src/test/kotlin/*Test.kt"] = {
|
||||||
},
|
type = "test",
|
||||||
["src/test/kotlin/*Test.kt"] = {
|
template = {
|
||||||
type = "test",
|
"package {dirname|dot}",
|
||||||
template = {
|
"",
|
||||||
"package {dirname|dot}",
|
"class {basename}Test {open}",
|
||||||
"",
|
"{close}"
|
||||||
"class {basename}Test {open}",
|
},
|
||||||
"{close}"
|
alternate = "src/main/kotlin/{}.kt"
|
||||||
},
|
},
|
||||||
alternate = "src/main/kotlin/{}.kt"
|
["src/test/java/*Test.kt"] = {
|
||||||
},
|
type = "test",
|
||||||
["src/test/java/*Test.kt"] = {
|
template = {
|
||||||
type = "test",
|
"package {dirname|dot}",
|
||||||
template = {
|
"",
|
||||||
"package {dirname|dot}",
|
"class {basename}Test {open}",
|
||||||
"",
|
"{close}"
|
||||||
"class {basename}Test {open}",
|
},
|
||||||
"{close}"
|
alternate = "src/main/java/{}.kt"
|
||||||
},
|
},
|
||||||
alternate = "src/main/java/{}.kt"
|
["src/main/resources/*"] = {
|
||||||
},
|
type = "resource"
|
||||||
["src/main/resources/*"] = {
|
},
|
||||||
type = "resource"
|
["src/test/resources/*"] = {
|
||||||
},
|
type = "testresource"
|
||||||
["src/test/resources/*"] = {
|
}
|
||||||
type = "testresource"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
local mint_config = {
|
local mint_config = {
|
||||||
["*"] = {
|
["*"] = {
|
||||||
start = "mint start"
|
start = "mint start"
|
||||||
},
|
|
||||||
["source/*.mint"] = {
|
|
||||||
type = "source",
|
|
||||||
template = {
|
|
||||||
"component {basename} {open}",
|
|
||||||
" style {basename|camelcase} {open}",
|
|
||||||
" {close}",
|
|
||||||
"",
|
|
||||||
" fun render : Html {open}",
|
|
||||||
" {close}",
|
|
||||||
"{close}"
|
|
||||||
},
|
},
|
||||||
alternate = "tests/{}.mint"
|
["source/*.mint"] = {
|
||||||
},
|
type = "source",
|
||||||
["tests/*.mint"] = {
|
template = {
|
||||||
type = "test",
|
"component {basename} {open}",
|
||||||
template = {
|
" style {basename|camelcase} {open}",
|
||||||
"suite \"{basename}\" {open}",
|
" {close}",
|
||||||
" test \"A test\" {open}",
|
"",
|
||||||
" with Test.Html {open}",
|
" fun render : Html {open}",
|
||||||
" {close}",
|
" {close}",
|
||||||
" {close}",
|
"{close}"
|
||||||
"{close}"
|
},
|
||||||
|
alternate = "tests/{}.mint"
|
||||||
},
|
},
|
||||||
alternate = "source/{}.mint"
|
["tests/*.mint"] = {
|
||||||
}
|
type = "test",
|
||||||
|
template = {
|
||||||
|
'suite "{basename}" {open}',
|
||||||
|
' test "A test" {open}',
|
||||||
|
" with Test.Html {open}",
|
||||||
|
" {close}",
|
||||||
|
" {close}",
|
||||||
|
"{close}"
|
||||||
|
},
|
||||||
|
alternate = "source/{}.mint"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
local crystal_config = {
|
local crystal_config = {
|
||||||
["*"] = {
|
["*"] = {
|
||||||
start = "crystal run"
|
start = "crystal run"
|
||||||
},
|
|
||||||
["src/*.cr"] = {
|
|
||||||
type = "source",
|
|
||||||
template = {
|
|
||||||
"module {capitalize|colons}",
|
|
||||||
"end"
|
|
||||||
},
|
},
|
||||||
alternate = "spec/{}_spec.cr"
|
["src/*.cr"] = {
|
||||||
},
|
type = "source",
|
||||||
["spec/*_spec.cr"] = {
|
template = {
|
||||||
type = "spec",
|
"module {capitalize|colons}",
|
||||||
template = {
|
"end"
|
||||||
"describe {capitalize|colons} do",
|
},
|
||||||
" # TODO Write tests",
|
alternate = "spec/{}_spec.cr"
|
||||||
"",
|
|
||||||
" it \"works\" do",
|
|
||||||
" false.should eq(true)",
|
|
||||||
" end",
|
|
||||||
"end"
|
|
||||||
},
|
},
|
||||||
alternate = "src/{}.cr"
|
["spec/*_spec.cr"] = {
|
||||||
}
|
type = "spec",
|
||||||
|
template = {
|
||||||
|
"describe {capitalize|colons} do",
|
||||||
|
" # TODO Write tests",
|
||||||
|
"",
|
||||||
|
' it "works" do',
|
||||||
|
" false.should eq(true)",
|
||||||
|
" end",
|
||||||
|
"end"
|
||||||
|
},
|
||||||
|
alternate = "src/{}.cr"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
local function c_project_config(source_extension, header_extension)
|
local function c_project_config(source_extension, header_extension)
|
||||||
return {
|
return {
|
||||||
["*"] = {
|
["*"] = {
|
||||||
start = "make run"
|
start = "make run"
|
||||||
},
|
},
|
||||||
["src/*." .. source_extension] = {
|
["src/*." .. source_extension] = {
|
||||||
type = "source",
|
type = "source",
|
||||||
alternate = {
|
alternate = {
|
||||||
"src/{}." .. header_extension,
|
"src/{}." .. header_extension,
|
||||||
"test/{}." .. source_extension,
|
"test/{}." .. source_extension,
|
||||||
"include/{project|basename}/{}." .. header_extension,
|
"include/{project|basename}/{}." .. header_extension
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
["test/*." .. source_extension] = {
|
["test/*." .. source_extension] = {
|
||||||
type = "test",
|
type = "test",
|
||||||
alternate = {
|
alternate = {
|
||||||
"src/{}." .. header_extension
|
"src/{}." .. header_extension
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
["src/*." .. header_extension] = {
|
["src/*." .. header_extension] = {
|
||||||
type = "header",
|
type = "header",
|
||||||
alternate = {
|
alternate = {
|
||||||
"src/{}." .. source_extension
|
"src/{}." .. source_extension
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
["include/{project|basename}/*." .. header_extension] = {
|
["include/{project|basename}/*." .. header_extension] = {
|
||||||
type = "header",
|
type = "header",
|
||||||
alternate = {
|
alternate = {
|
||||||
"src/{}." .. header_extension
|
"src/{}." .. header_extension
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.g.projectionist_heuristics = {
|
vim.g.projectionist_heuristics = {
|
||||||
["pubspec.yaml"] = flutter_config,
|
["pubspec.yaml"] = flutter_config,
|
||||||
["requirements.txt|pyproject.toml"] = python_config,
|
["requirements.txt|pyproject.toml"] = python_config,
|
||||||
["*.sln"] = dotnet_solution_config,
|
["*.sln"] = dotnet_solution_config,
|
||||||
["*.csproj"] = csharp_project_config,
|
["*.csproj"] = csharp_project_config,
|
||||||
["plugin/|autoload/"] = vim_plugin_config,
|
["plugin/|autoload/"] = vim_plugin_config,
|
||||||
["src/*.cpp|test/*.cpp"] = c_project_config("cpp", "hpp"),
|
["src/*.cpp|test/*.cpp"] = c_project_config("cpp", "hpp"),
|
||||||
["src/*.c|test/*.c"] = c_project_config("c", "h"),
|
["src/*.c|test/*.c"] = c_project_config("c", "h"),
|
||||||
["lua/"] = lua_vim_plugin_config,
|
["lua/"] = lua_vim_plugin_config,
|
||||||
["build.gradle|pom.xml"] = java_project_config,
|
["build.gradle|pom.xml"] = java_project_config,
|
||||||
["build.gradle|build.gradle.kts"] = kotlin_project_config,
|
["build.gradle|build.gradle.kts"] = kotlin_project_config,
|
||||||
["mint.json"] = mint_config,
|
["mint.json"] = mint_config,
|
||||||
["shard.yml"] = crystal_config
|
["shard.yml"] = crystal_config
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
-- - Vim REST Console setup and extra commands -
|
-- - Vim REST Console setup and extra commands -
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
vim.cmd[[command! -nargs=0 ScratchRestConsole :lua require('vim_rest_console_extensions').open_scratch_rest_console()]]
|
vim.cmd [[command! -nargs=0 ScratchRestConsole :lua require('vim_rest_console_extensions').open_scratch_rest_console()]]
|
||||||
vim.cmd[[command! -nargs=? RestConsole :lua require('vim_rest_console_extensions').open_cached_rest_console(<f-args>)]]
|
vim.cmd [[command! -nargs=? RestConsole :lua require('vim_rest_console_extensions').open_cached_rest_console(<f-args>)]]
|
||||||
vim.cmd[[command! -nargs=? RestConsoleLocal :lua require('vim_rest_console_extensions').open_local_rest_console(<f-args>)]]
|
vim.cmd [[command! -nargs=? RestConsoleLocal :lua require('vim_rest_console_extensions').open_local_rest_console(<f-args>)]]
|
||||||
vim.cmd[[command! -nargs=1 RestConsoleCached :lua require('vim_rest_console_extensions').open_named_cached_rest_console(<f-args>)]]
|
vim.cmd [[command! -nargs=1 RestConsoleCached :lua require('vim_rest_console_extensions').open_named_cached_rest_console(<f-args>)]]
|
||||||
|
|
|
@ -2,28 +2,30 @@
|
||||||
-- - Telescope configuration -
|
-- - Telescope configuration -
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
local actions = require('telescope.actions')
|
local actions = require("telescope.actions")
|
||||||
require('telescope').setup {
|
require("telescope").setup {
|
||||||
defaults = {
|
defaults = {
|
||||||
mappings = {
|
mappings = {
|
||||||
i = {
|
i = {
|
||||||
-- Switch out M-q and C-q since C-q will be used more often
|
-- Switch out M-q and C-q since C-q will be used more often
|
||||||
["<M-q>"] = actions.send_to_qflist + actions.open_qflist,
|
["<M-q>"] = actions.send_to_qflist + actions.open_qflist,
|
||||||
["<C-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
["<C-q>"] = actions.send_selected_to_qflist + actions.open_qflist
|
||||||
},
|
},
|
||||||
n = {
|
n = {
|
||||||
-- Switch out M-q and C-q since C-q will be used more often
|
-- Switch out M-q and C-q since C-q will be used more often
|
||||||
["<M-q>"] = actions.send_to_qflist + actions.open_qflist,
|
["<M-q>"] = actions.send_to_qflist + actions.open_qflist,
|
||||||
["<C-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
["<C-q>"] = actions.send_selected_to_qflist + actions.open_qflist
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
require('telescope').load_extension('dap')
|
require("telescope").load_extension("dap")
|
||||||
|
|
||||||
default_opts = {noremap = true}
|
default_opts = {noremap = true}
|
||||||
|
|
||||||
local function set_keymap(...) vim.api.nvim_set_keymap(...) end
|
local function set_keymap(...)
|
||||||
set_keymap('n', '<C-P>', "<cmd>lua require('telescope.builtin').find_files()<CR>", default_opts)
|
vim.api.nvim_set_keymap(...)
|
||||||
set_keymap('n', '<C-M-F>', "<cmd>lua require('telescope.builtin').live_grep()<CR>", default_opts)
|
end
|
||||||
|
set_keymap("n", "<C-P>", "<cmd>lua require('telescope.builtin').find_files()<CR>", default_opts)
|
||||||
|
set_keymap("n", "<C-M-F>", "<cmd>lua require('telescope.builtin').live_grep()<CR>", default_opts)
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
require'nvim-treesitter.configs'.setup {
|
require "nvim-treesitter.configs".setup {
|
||||||
ensure_installed = "maintained", -- one of "all", "maintained" (parsers with maintainers), or a list of languages
|
ensure_installed = "maintained", -- one of "all", "maintained" (parsers with maintainers), or a list of languages
|
||||||
highlight = {
|
highlight = {
|
||||||
enable = true, -- false will disable the whole extension
|
enable = true -- false will disable the whole extension
|
||||||
},
|
},
|
||||||
playground = {
|
playground = {
|
||||||
enable = true,
|
enable = true,
|
||||||
disable = {},
|
disable = {},
|
||||||
updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code
|
updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code
|
||||||
persist_queries = false -- Whether the query persists across vim sessions
|
persist_queries = false -- Whether the query persists across vim sessions
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue