mirror of
https://github.com/halfdan/dotfiles.git
synced 2025-09-10 19:56:24 +00:00
Stuff
This commit is contained in:
@@ -33,15 +33,6 @@ vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
|
||||
}
|
||||
)
|
||||
|
||||
local saga = require 'lspsaga'
|
||||
saga.init_lsp_saga({
|
||||
-- symbols in winbar
|
||||
symbol_in_winbar = true,
|
||||
winbar_file_format = function()
|
||||
return vim.fn.expand("%=%m %f")
|
||||
end,
|
||||
})
|
||||
|
||||
-- symbols for autocomplete
|
||||
vim.lsp.protocol.CompletionItemKind = {
|
||||
" (Text) ",
|
||||
|
58
.config/nvim/after/plugin/lspsaga.lua
Normal file
58
.config/nvim/after/plugin/lspsaga.lua
Normal file
@@ -0,0 +1,58 @@
|
||||
local saga = require 'lspsaga'
|
||||
saga.init_lsp_saga({
|
||||
-- symbols in winbar
|
||||
symbol_in_winbar = {
|
||||
enable = true,
|
||||
click_support = true,
|
||||
show_file = true,
|
||||
in_custom = true,
|
||||
},
|
||||
})
|
||||
|
||||
local function get_file_name(include_path)
|
||||
local file_name = require('lspsaga.symbolwinbar').get_file_name()
|
||||
if vim.fn.bufname '%' == '' then return '' end
|
||||
if include_path == false then return file_name end
|
||||
-- Else if include path: ./lsp/saga.lua -> lsp > saga.lua
|
||||
local sep = vim.loop.os_uname().sysname == 'Windows' and '\\' or '/'
|
||||
local path_list = vim.split(string.gsub(vim.fn.expand '%:~:.:h', '%%', ''), sep)
|
||||
local file_path = ''
|
||||
for _, cur in ipairs(path_list) do
|
||||
file_path = (cur == '.' or cur == '~') and '' or
|
||||
file_path .. cur .. ' ' .. '%#LspSagaWinbarSep#>%*' .. ' %*'
|
||||
end
|
||||
return file_path .. file_name
|
||||
end
|
||||
|
||||
local function config_winbar()
|
||||
local exclude = {
|
||||
['teminal'] = true,
|
||||
['toggleterm'] = true,
|
||||
['prompt'] = true,
|
||||
['NvimTree'] = true,
|
||||
['help'] = true,
|
||||
} -- Ignore float windows and exclude filetype
|
||||
if vim.api.nvim_win_get_config(0).zindex or exclude[vim.bo.filetype] then
|
||||
vim.wo.winbar = ''
|
||||
else
|
||||
local ok, lspsaga = pcall(require, 'lspsaga.symbolwinbar')
|
||||
local sym
|
||||
if ok then sym = lspsaga.get_symbol_node() end
|
||||
local win_val = ''
|
||||
win_val = get_file_name(true) -- set to true to include path
|
||||
if sym ~= nil then win_val = win_val .. sym end
|
||||
vim.wo.winbar = win_val
|
||||
end
|
||||
end
|
||||
|
||||
local events = { 'BufEnter', 'BufWinEnter', 'CursorMoved' }
|
||||
|
||||
vim.api.nvim_create_autocmd(events, {
|
||||
pattern = '*',
|
||||
callback = function() config_winbar() end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd('User', {
|
||||
pattern = 'LspsagaUpdateSymbol',
|
||||
callback = function() config_winbar() end,
|
||||
})
|
@@ -1,24 +1,25 @@
|
||||
local Remap = require("halfdan.keymap")
|
||||
local nnoremap = Remap.nnoremap
|
||||
local builtin = require("telescope.builtin")
|
||||
|
||||
nnoremap("<leader>ps", function()
|
||||
require('telescope.builtin').grep_string({ search = vim.fn.input("Grep For > ")})
|
||||
builtin.grep_string({ search = vim.fn.input("Grep For > ")})
|
||||
end)
|
||||
nnoremap("<C-p>", function()
|
||||
require('telescope.builtin').git_files()
|
||||
builtin.git_files()
|
||||
end)
|
||||
nnoremap("<Leader>pf", function()
|
||||
require('telescope.builtin').find_files()
|
||||
builtin.find_files()
|
||||
end)
|
||||
|
||||
nnoremap("<leader>pw", function()
|
||||
require('telescope.builtin').grep_string { search = vim.fn.expand("<cword>") }
|
||||
builtin.grep_string { search = vim.fn.expand("<cword>") }
|
||||
end)
|
||||
nnoremap("<leader>pb", function()
|
||||
require('telescope.builtin').buffers()
|
||||
builtin.buffers()
|
||||
end)
|
||||
nnoremap("<leader>vh", function()
|
||||
require('telescope.builtin').help_tags()
|
||||
builtin.help_tags()
|
||||
end)
|
||||
|
||||
-- Telescope
|
||||
|
Reference in New Issue
Block a user