aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAriel D'Alessandro <dalessandro.ariel@gmail.com>2022-02-13 17:53:07 +0100
committerAriel D'Alessandro <dalessandro.ariel@gmail.com>2022-02-13 17:53:18 +0100
commita9430e56a302a66d57fa3f7af80a74e6d037bd2c (patch)
tree4bc2c2df29c555c8639882c109a85847bd794c7b
parentd43a4f3b7455599968b9e61c64944ef2759458d6 (diff)
downloadnvim-conf-a9430e56a302a66d57fa3f7af80a74e6d037bd2c.tar.gz
nvim-conf-a9430e56a302a66d57fa3f7af80a74e6d037bd2c.zip
more refactor
-rw-r--r--after/plugin/lsp.lua49
-rw-r--r--init.lua2
-rw-r--r--lua/alpha/plugins.lua2
-rw-r--r--lua/alpha/telescope/init.lua64
-rw-r--r--lua/alpha/telescope/mappings.lua5
-rw-r--r--lua/alpha/telescope_laravel.lua89
-rw-r--r--plugin/packer_compiled.lua5
7 files changed, 96 insertions, 120 deletions
diff --git a/after/plugin/lsp.lua b/after/plugin/lsp.lua
index 40a56d6..53d9746 100644
--- a/after/plugin/lsp.lua
+++ b/after/plugin/lsp.lua
@@ -1,29 +1,40 @@
-local function on_attach()
+local telescope_mapper = require "alpha.telescope.mappings"
+
+local filetype_attach = setmetatable({
+ go = function(_)
+ vim.cmd [[
+ augroup lsp_buf_format
+ au! BufWritePre <buffer>
+ autocmd BufWritePre <buffer> :lua vim.lsp.buf.formatting_sync()
+ augroup END
+ ]]
+ end,
+}, {
+ __index = function()
+ return function() end
+ end,
+})
+
+local function on_attach(client)
+ local filetype = vim.api.nvim_buf_get_option(0, "filetype")
-- keymaps for lsp
- vim.api.nvim_set_keymap('n', 'K', ':lua vim.lsp.buf.hover()<cr>', {noremap = true})
- vim.api.nvim_set_keymap('n', '<leader>vd', ':lua vim.lsp.buf.definition()<cr>', {noremap = true})
+ vim.keymap.set("n", "K", vim.lsp.buf.hover, { buffer = 0 })
+ vim.keymap.set("n", "<c-]>", vim.lsp.buf.definition, { buffer = 0 })
+ vim.keymap.set("n", "<leader>vrn", vim.lsp.buf.rename, { buffer = 0 })
+ vim.keymap.set("n", "<leader>vf", vim.lsp.buf.formatting, { buffer = 0 })
+ vim.keymap.set("n", "<leader>vn", vim.lsp.diagnostic.goto_next, { buffer = 0 })
+ vim.keymap.set("n", "<leader>vp", vim.lsp.diagnostic.goto_prev, { buffer = 0 })
+ telescope_mapper("gr", "lsp_references", nil, true)
+ telescope_mapper("<leader>pv", "find_symbol", nil, true)
vim.api.nvim_set_keymap('n', '<leader>vo', ':LspRestart<cr>', {noremap = true})
- -- diagnostics to move between info and errors
- vim.api.nvim_set_keymap('n', '<leader>vn', ':lua vim.lsp.diagnostic.goto_next()<cr>', {noremap = true})
- vim.api.nvim_set_keymap('n', '<leader>vp', ':lua vim.lsp.diagnostic.goto_prev()<cr>', {noremap = true})
-
-
- vim.api.nvim_set_keymap('n', '<leader>vca', ':lua vim.lsp.buf.code_action()<cr>', {noremap = true})
- vim.api.nvim_set_keymap('n', '<leader>vf', ':lua vim.lsp.buf.formatting()<cr>', {noremap = true})
-
- vim.api.nvim_set_keymap('n', '<leader>vi', ':lua vim.lsp.buf.implementation()<cr>', {noremap = true})
- vim.api.nvim_set_keymap('n', '<leader>vrn', ':lua vim.lsp.buf.rename()<cr>', {noremap = true})
-
require "lsp_signature".on_attach()
- vim.cmd [[au Filetype php setl omnifunc=v:lua.vim.lsp.omnifunc]]
- vim.cmd [[autocmd FileType go setlocal omnifunc=v:lua.vim.lsp.omnifunc]]
-
- vim.g.completion_matching_strategy_list = { 'exact', 'substring', 'fuzzy' }
-
+ vim.bo.omnifunc = "v:lua.vim.lsp.omnifunc"
+ -- Attach any filetype specific options to the client
+ filetype_attach[filetype](client)
end
local lsp_installer = require("nvim-lsp-installer")
diff --git a/init.lua b/init.lua
index bf4dce5..69e07f9 100644
--- a/init.lua
+++ b/init.lua
@@ -14,7 +14,5 @@ require "alpha.disable_builtin"
require "alpha.plugins"
--- require "alpha.lsp"
-
require "alpha.telescope.setup"
require "alpha.telescope.mappings"
diff --git a/lua/alpha/plugins.lua b/lua/alpha/plugins.lua
index 5591695..4b59016 100644
--- a/lua/alpha/plugins.lua
+++ b/lua/alpha/plugins.lua
@@ -122,7 +122,7 @@ return require('packer').startup(function(use)
use 'vim-test/vim-test'
- use 'fatih/vim-go'
+ -- use 'fatih/vim-go'
use {
'noahfrederick/vim-laravel',
diff --git a/lua/alpha/telescope/init.lua b/lua/alpha/telescope/init.lua
index 7b0ffd2..da99b32 100644
--- a/lua/alpha/telescope/init.lua
+++ b/lua/alpha/telescope/init.lua
@@ -1,3 +1,15 @@
+SHOULD_RELOAD_TELESCOPE = true
+
+local reloader = function()
+ if SHOULD_RELOAD_TELESCOPE then
+ RELOAD "plenary"
+ RELOAD "telescope"
+ RELOAD "alpha.telescope.setup"
+ end
+end
+
+local action_state = require "telescope.actions.state"
+local fb_actions = require "telescope".extensions.file_browser.actions
local actions = require('telescope.actions')
local M = {}
@@ -51,9 +63,59 @@ function M.my_plugins()
}
end
+function M.projectionist ()
+ return require("telescope").extensions.projectionist.projectionist()
+end
+
+function M.laravel ()
+ return require("telescope").extensions.laravel.laravel()
+end
+
+function M.file_browser ()
+ local opts
+
+ opts = {
+ sorting_strategy = "ascending",
+ scroll_strategy = "cycle",
+ layout_config = {
+ prompt_position = "top",
+ },
+
+ attach_mappings = function(prompt_bufnr, map)
+ local current_picker = action_state.get_current_picker(prompt_bufnr)
+
+ local modify_cwd = function(new_cwd)
+ local finder = current_picker.finder
+
+ finder.path = new_cwd
+ finder.files = true
+ current_picker:refresh(false, { reset_prompt = true })
+ end
+
+ map("i", "-", function()
+ modify_cwd(current_picker.cwd .. "/..")
+ end)
+
+ map("i", "~", function()
+ modify_cwd(vim.fn.expand "~")
+ end)
+
+ map("n", "yy", function()
+ local entry = action_state.get_selected_entry()
+ vim.fn.setreg("+", entry.value)
+ end)
+
+ map("i", "<c-y>", fb_actions.create)
+
+ return true
+ end,
+ }
+ return require("telescope").extensions.file_browser.file_browser(opts)
+end
+
return setmetatable({}, {
__index = function(_, k)
-
+ reloader()
if M[k] then
return M[k]
else
diff --git a/lua/alpha/telescope/mappings.lua b/lua/alpha/telescope/mappings.lua
index 411fc0c..8ffc15a 100644
--- a/lua/alpha/telescope/mappings.lua
+++ b/lua/alpha/telescope/mappings.lua
@@ -34,13 +34,12 @@ map_tele("<leader>ph", "help_tags")
map_tele("<leader>pe", "buffers")
map_tele("<leader>pr", "treesitter")
map_tele("<leader>bb", "file_browser")
-map_tele("<leader>vrr", "lsp_references")
map_tele("<leader>gs", "git_status")
-map_tele("<leader>pv", "find_symbol")
-map_tele("<leader>ve", "lsp_document_diagnostics")
+map_tele("<leader>ve", "diagnostics")
map_tele("<leader>fp", "my_plugins")
map_tele("<leader>pa", "laravel")
+map_tele("<leader>vca", "lsp_code_actions")
diff --git a/lua/alpha/telescope_laravel.lua b/lua/alpha/telescope_laravel.lua
deleted file mode 100644
index fc730b6..0000000
--- a/lua/alpha/telescope_laravel.lua
+++ /dev/null
@@ -1,89 +0,0 @@
-local actions = require('telescope.actions')
-local pickers = require "telescope.pickers"
-local finders = require "telescope.finders"
-local previewers = require "telescope.previewers"
-local conf = require("telescope.config").values
-local putils = require "telescope.previewers.utils"
-local action_state = require "telescope.actions.state"
-local utils = require "telescope.utils"
-local laravel = {}
-
-function Split(s, delimiter)
- local result = {};
- for match in (s..delimiter):gmatch("(.-)"..delimiter) do
- table.insert(result, match);
- end
- return result;
-end
-
-local lookup_keys = {
- display = 1,
- ordinal = 1,
- value = 1,
-}
-
-local mt_string_entry = {
- __index = function(t, k)
- return rawget(t, rawget(lookup_keys, k))
- end,
-}
-
-local function getArtisanCommand(args)
- local artCmdStr = vim.g.laravel_artisan
- if artCmdStr == nil then
- artCmdStr = "php artisan"
- end
- if type(args) ~= "table" then
- return Split(artCmdStr .. ' ' .. args, " ")
- end
- local cmd = Split(artCmdStr, ' ')
- for _, value in ipairs(args) do
- table.insert(cmd, value)
- end
-
- return cmd
-end
-
-laravel.artisan = function()
-
- local results = utils.get_os_command_output(getArtisanCommand('--raw'))
-
- pickers.new({}, {
- prompt_title = "Artisan commands",
- finder = finders.new_table {
- results = results,
- entry_maker = function (line)
- return setmetatable({
- Split(line, " ")[1],
- }, mt_string_entry)
- end
- },
- previewer = previewers.new_buffer_previewer {
- title = "Help",
- get_buffer_by_name = function(_, entry)
- return entry.value
- end,
-
- define_preview = function(self, entry)
-
- local cmd = getArtisanCommand({entry.value, '-h'})
-
- putils.job_maker(cmd, self.state.bufnr, {
- value = entry.value,
- bufname = self.state.bufname,
- })
- end,
- },
- sorter = conf.file_sorter(),
- attach_mappings = function (_, map)
- map('i', '<cr>', function(prompt_bufnr)
- local entry = action_state.get_selected_entry()
- actions.close(prompt_bufnr)
- vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(":Artisan " .. entry.value .. " ", true, false, true), "t", true)
- end)
- return true
- end
- }):find()
-end
-
-return laravel
diff --git a/plugin/packer_compiled.lua b/plugin/packer_compiled.lua
index ee27939..f9e0b67 100644
--- a/plugin/packer_compiled.lua
+++ b/plugin/packer_compiled.lua
@@ -330,11 +330,6 @@ _G.packer_plugins = {
path = "/home/alpha/.local/share/nvim/site/pack/packer/start/vim-fugitive",
url = "https://github.com/tpope/vim-fugitive"
},
- ["vim-go"] = {
- loaded = true,
- path = "/home/alpha/.local/share/nvim/site/pack/packer/start/vim-go",
- url = "https://github.com/fatih/vim-go"
- },
["vim-http"] = {
commands = { "Http" },
loaded = false,