Compare commits
18 Commits
eade51e5b9
...
helpgrep
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d21cd45701 | ||
|
|
9d5868304f | ||
| 56beb52997 | |||
| 48ad466bd3 | |||
| 4499dee3d6 | |||
| d75531ae3d | |||
|
|
9f0d9890fd | ||
| ccec3232b5 | |||
|
|
ed74a5909a | ||
| 5da8a3c2f6 | |||
| 75f9b205bd | |||
| f5ab986397 | |||
| 4ee7596ffc | |||
| 19d7ac86f2 | |||
| 3ff031990a | |||
| 9de31c4c59 | |||
| 500e786a70 | |||
| 94c332368f |
@@ -1 +0,0 @@
|
|||||||
autocmd BufNewFile,BufReadPost CMakeCache.txt set filetype=cmakecache
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
" Force *.def to C++ filetype for LLVM
|
|
||||||
au BufNewFile,BufReadPost *.def set filetype=cpp
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
" Set .ll files to LLVM IR filetype
|
|
||||||
au BufNewFile,BufReadPost *.ll set filetype=llvm
|
|
||||||
au BufNewFile,BufReadPost *.test set filetype=llvm
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
" Force *.md to markdown filetype
|
|
||||||
au BufNewFile,BufReadPost *.md set filetype=markdown
|
|
||||||
au BufNewFile,BufReadPost *.ronn set filetype=markdown
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
" Force *.cl to OpenCL C filetype
|
|
||||||
au BufNewFile,BufReadPost *.cl set filetype=opencl
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
" Force lit.cfg/lit.local.cfg to be Python
|
|
||||||
au BufNewFile,BufReadPost lit.cfg set filetype=python
|
|
||||||
au BufNewFile,BufReadPost lit.local.cfg set filetype=python
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
autocmd BufNewFile,BufReadPost */requirements.txt set filetype=requirements
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
" Force *.td to tablegen filetype
|
|
||||||
au BufNewFile,BufReadPost *.td set filetype=tablegen
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
" Force .enter/.exit to be zsh
|
|
||||||
au BufNewFile,BufReadPost .enter set filetype=zsh
|
|
||||||
au BufNewFile,BufReadPost .exit set filetype=zsh
|
|
||||||
10
init.lua
10
init.lua
@@ -1,11 +1,5 @@
|
|||||||
require('settings')
|
vim.g.mapleader = ' '
|
||||||
require('mappings')
|
vim.g.maplocalleader = ' '
|
||||||
require('commands')
|
|
||||||
require('netrw')
|
|
||||||
require('autocmds')
|
|
||||||
require('statusline')
|
|
||||||
require('ui')
|
|
||||||
require('build')
|
|
||||||
|
|
||||||
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
|
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
|
||||||
if not vim.loop.fs_stat(lazypath) then
|
if not vim.loop.fs_stat(lazypath) then
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
return {
|
local kanagawa = {
|
||||||
'rebelot/kanagawa.nvim',
|
'rebelot/kanagawa.nvim',
|
||||||
config = function()
|
config = function()
|
||||||
local kanagawa = require('kanagawa')
|
local kanagawa = require('kanagawa')
|
||||||
@@ -35,3 +35,5 @@ return {
|
|||||||
vim.cmd.highlight('link zshTodo Comment')
|
vim.cmd.highlight('link zshTodo Comment')
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return kanagawa
|
||||||
|
|||||||
@@ -72,6 +72,10 @@ return {
|
|||||||
},
|
},
|
||||||
|
|
||||||
config = function()
|
config = function()
|
||||||
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
|
capabilities = vim.tbl_deep_extend(
|
||||||
|
'force', capabilities, require('cmp_nvim_lsp').default_capabilities())
|
||||||
|
|
||||||
require('mason').setup()
|
require('mason').setup()
|
||||||
require('mason-lspconfig').setup({
|
require('mason-lspconfig').setup({
|
||||||
automatic_installation = false,
|
automatic_installation = false,
|
||||||
@@ -81,12 +85,22 @@ return {
|
|||||||
-- Default handler, sets up everything unless a custom language server
|
-- Default handler, sets up everything unless a custom language server
|
||||||
-- setup handler is defined below
|
-- setup handler is defined below
|
||||||
function(server_name)
|
function(server_name)
|
||||||
require('lspconfig')[server_name].setup({})
|
require('lspconfig')[server_name].setup({
|
||||||
|
capabilities = capabilities,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
|
||||||
|
['clangd'] = function()
|
||||||
|
require('lspconfig').clangd.setup({
|
||||||
|
capabilities = capabilities,
|
||||||
|
cmd = { 'clangd', '--completion-style=detailed' }
|
||||||
|
})
|
||||||
end,
|
end,
|
||||||
|
|
||||||
['lua_ls'] = function()
|
['lua_ls'] = function()
|
||||||
require('neodev').setup()
|
require('neodev').setup()
|
||||||
require('lspconfig').lua_ls.setup({
|
require('lspconfig').lua_ls.setup({
|
||||||
|
capabilities = capabilities,
|
||||||
settings = {
|
settings = {
|
||||||
Lua = {
|
Lua = {
|
||||||
diagnostics = {
|
diagnostics = {
|
||||||
@@ -100,6 +114,7 @@ return {
|
|||||||
|
|
||||||
['pyright'] = function()
|
['pyright'] = function()
|
||||||
require('lspconfig').pyright.setup({
|
require('lspconfig').pyright.setup({
|
||||||
|
capabilities = capabilities,
|
||||||
settings = {
|
settings = {
|
||||||
pyright = {
|
pyright = {
|
||||||
disableOrganizeImports = true, -- Use ruff import sorter instead
|
disableOrganizeImports = true, -- Use ruff import sorter instead
|
||||||
|
|||||||
@@ -5,9 +5,11 @@ return {
|
|||||||
'nvim-telescope/telescope-fzy-native.nvim',
|
'nvim-telescope/telescope-fzy-native.nvim',
|
||||||
'nvim-tree/nvim-web-devicons',
|
'nvim-tree/nvim-web-devicons',
|
||||||
'axkirillov/easypick.nvim',
|
'axkirillov/easypick.nvim',
|
||||||
|
'catgoose/telescope-helpgrep.nvim',
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
local telescope = require('telescope')
|
local telescope = require('telescope')
|
||||||
|
local actions = require('telescope.actions')
|
||||||
telescope.setup({
|
telescope.setup({
|
||||||
defaults = {
|
defaults = {
|
||||||
mappings = {
|
mappings = {
|
||||||
@@ -20,11 +22,25 @@ return {
|
|||||||
['<C-s>'] = 'select_horizontal',
|
['<C-s>'] = 'select_horizontal',
|
||||||
['<C-h>'] = 'preview_scrolling_left',
|
['<C-h>'] = 'preview_scrolling_left',
|
||||||
['<C-l>'] = 'preview_scrolling_right',
|
['<C-l>'] = 'preview_scrolling_right',
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
layout_config = {
|
layout_config = {
|
||||||
height = 0.7,
|
height = 0.7,
|
||||||
}
|
},
|
||||||
|
},
|
||||||
|
extensions = {
|
||||||
|
helpgrep = {
|
||||||
|
mappings = {
|
||||||
|
i = {
|
||||||
|
["<CR>"] = actions.select_default,
|
||||||
|
["<C-v>"] = actions.select_vertical,
|
||||||
|
},
|
||||||
|
n = {
|
||||||
|
["<CR>"] = actions.select_default,
|
||||||
|
["<C-s>"] = actions.select_horizontal,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
telescope.load_extension('fzy_native')
|
telescope.load_extension('fzy_native')
|
||||||
@@ -36,7 +52,8 @@ return {
|
|||||||
vim.keymap.set('n', '<leader>gg', builtin.live_grep, opts)
|
vim.keymap.set('n', '<leader>gg', builtin.live_grep, opts)
|
||||||
vim.keymap.set('n', '<leader>rg', builtin.grep_string, opts)
|
vim.keymap.set('n', '<leader>rg', builtin.grep_string, opts)
|
||||||
vim.keymap.set('n', '<leader>gb', builtin.buffers, opts)
|
vim.keymap.set('n', '<leader>gb', builtin.buffers, opts)
|
||||||
vim.keymap.set('n', '<leader>gh', builtin.help_tags, opts)
|
vim.keymap.set('n', '<leader>ht', builtin.help_tags, opts)
|
||||||
|
vim.keymap.set('n', '<leader>gh', require('telescope-helpgrep').live_grep, opts)
|
||||||
vim.keymap.set('n', '<leader>bl', builtin.current_buffer_fuzzy_find, opts)
|
vim.keymap.set('n', '<leader>bl', builtin.current_buffer_fuzzy_find, opts)
|
||||||
|
|
||||||
require('easypick').setup({
|
require('easypick').setup({
|
||||||
|
|||||||
19
plugin/filetype.lua
Normal file
19
plugin/filetype.lua
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
vim.filetype.add({
|
||||||
|
extension = {
|
||||||
|
cl = 'opencl',
|
||||||
|
def = 'cpp',
|
||||||
|
ll = 'llvm',
|
||||||
|
md = 'markdown',
|
||||||
|
ronn = 'markdown',
|
||||||
|
td = 'tablegen',
|
||||||
|
test = 'llvm',
|
||||||
|
},
|
||||||
|
filename = {
|
||||||
|
['.enter'] = 'zsh',
|
||||||
|
['.exit'] = 'zsh',
|
||||||
|
['CMakeCache.txt'] = 'cmakecache',
|
||||||
|
['lit.cfg'] = 'python',
|
||||||
|
['lit.local.cfg'] = 'python',
|
||||||
|
['requirements.txt'] = 'requirements',
|
||||||
|
},
|
||||||
|
})
|
||||||
@@ -1,41 +1,40 @@
|
|||||||
vim.g.mapleader = ' '
|
local opts = { remap = false, silent = true }
|
||||||
|
|
||||||
-- Quick write
|
-- Quick write
|
||||||
vim.keymap.set('n', '<leader>w', ':w!<CR>', { remap = false })
|
vim.keymap.set('n', '<leader>w', ':w!<CR>', opts)
|
||||||
|
|
||||||
-- Treat long lines as line containing breaks
|
-- Treat long lines as line containing breaks
|
||||||
vim.keymap.set('n', 'j', 'gj', { remap = false })
|
vim.keymap.set('n', 'j', 'gj', opts)
|
||||||
vim.keymap.set('n', 'k', 'gk', { remap = false })
|
vim.keymap.set('n', 'k', 'gk', opts)
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>tn', ':tabnew<Space>', { remap = false })
|
vim.keymap.set('n', '<leader>tn', ':tabnew<Space>', { remap = false })
|
||||||
vim.keymap.set('n', '<leader>tc', ':tabclose<CR>', { remap = false })
|
|
||||||
vim.keymap.set('n', '<leader>to', ':tabonly<CR>', { remap = false })
|
|
||||||
vim.keymap.set('n', '<leader>tm', ':tabmove<Space>', { remap = false })
|
vim.keymap.set('n', '<leader>tm', ':tabmove<Space>', { remap = false })
|
||||||
|
vim.keymap.set('n', '<leader>tc', ':tabclose<CR>', opts)
|
||||||
|
vim.keymap.set('n', '<leader>to', ':tabonly<CR>', opts)
|
||||||
|
|
||||||
-- Quickly access spelling menu
|
-- Quickly access spelling menu
|
||||||
vim.keymap.set('i', '<C-s>', '<C-g>u<C-X>s', { remap = false })
|
vim.keymap.set('i', '<C-s>', '<C-g>u<C-X>s', opts)
|
||||||
vim.keymap.set('n', '<C-s>', 'i<C-g>u<C-X>s', { remap = false })
|
vim.keymap.set('n', '<C-s>', 'i<C-g>u<C-X>s', opts)
|
||||||
|
|
||||||
-- Clear search highlights
|
-- Clear search highlights
|
||||||
vim.keymap.set('n', '<leader><Space>', ':nohlsearch<CR>', { remap = false })
|
vim.keymap.set('n', '<leader><Space>', ':nohlsearch<CR>', opts)
|
||||||
|
|
||||||
-- Disable 'Q' from opening Ex mode
|
-- Disable 'Q' from opening Ex mode
|
||||||
vim.keymap.set('n', 'Q', '<nop>', { remap = false })
|
vim.keymap.set('n', 'Q', '<nop>', opts)
|
||||||
|
|
||||||
-- System clipboard yank/put
|
-- System clipboard yank/put
|
||||||
vim.keymap.set('', '<leader>y', '"+y', { remap = false })
|
vim.keymap.set('', '<leader>y', '"+y', opts)
|
||||||
vim.keymap.set('', '<leader>Y', '"+Y', { remap = false })
|
vim.keymap.set('', '<leader>Y', '"+Y', opts)
|
||||||
vim.keymap.set('', '<leader>p', '"+p', { remap = false })
|
vim.keymap.set('', '<leader>p', '"+p', opts)
|
||||||
vim.keymap.set('', '<leader>P', '"+P', { remap = false })
|
vim.keymap.set('', '<leader>P', '"+P', opts)
|
||||||
|
|
||||||
-- Undo neovim's default mapping of Y to y$
|
-- Undo neovim's default mapping of Y to y$
|
||||||
vim.cmd.unmap('Y')
|
vim.cmd.unmap('Y')
|
||||||
|
|
||||||
-- Make nvim :terminal more like vim :terminal
|
-- Make nvim :terminal more like vim :terminal
|
||||||
vim.keymap.set('t', '<C-w>N', '<C-\\><C-n>', { remap = true })
|
vim.keymap.set('t', '<C-w>N', '<C-\\><C-n>', opts)
|
||||||
|
|
||||||
-- Mappings to make navigating :Termdebug
|
-- Mappings to make navigating :Termdebug
|
||||||
local opts = { remap = false, silent = true }
|
|
||||||
vim.keymap.set('n', '<C-w><C-g>', ':Gdb<CR>:startinsert<CR>', opts)
|
vim.keymap.set('n', '<C-w><C-g>', ':Gdb<CR>:startinsert<CR>', opts)
|
||||||
vim.keymap.set('n', '<C-w><C-e>', ':Program<CR>', opts)
|
vim.keymap.set('n', '<C-w><C-e>', ':Program<CR>', opts)
|
||||||
vim.keymap.set('n', '<C-w><C-s>', ':Source<CR>', opts)
|
vim.keymap.set('n', '<C-w><C-s>', ':Source<CR>', opts)
|
||||||
@@ -109,7 +109,7 @@ end
|
|||||||
|
|
||||||
-- Define active statusline, this statusline is dynamic with StatusLineLight
|
-- Define active statusline, this statusline is dynamic with StatusLineLight
|
||||||
-- being updated based on the current mode and only used for current buffer.
|
-- being updated based on the current mode and only used for current buffer.
|
||||||
function statusline.active()
|
function _G.statusline_active()
|
||||||
local mode = get_mode()
|
local mode = get_mode()
|
||||||
if vim.o.buftype == 'help' then
|
if vim.o.buftype == 'help' then
|
||||||
if mode == 'Normal' then mode = 'Help' end
|
if mode == 'Normal' then mode = 'Help' end
|
||||||
@@ -138,7 +138,7 @@ function statusline.active()
|
|||||||
return generic('StatusLineLight', mode, true)
|
return generic('StatusLineLight', mode, true)
|
||||||
end
|
end
|
||||||
|
|
||||||
function statusline.inactive()
|
function _G.statusline_inactive()
|
||||||
local mode = modes[vim.fn.char2nr(vim.fn.mode())].name
|
local mode = modes[vim.fn.char2nr(vim.fn.mode())].name
|
||||||
local line = ''
|
local line = ''
|
||||||
if vim.o.buftype == 'help' then
|
if vim.o.buftype == 'help' then
|
||||||
@@ -169,7 +169,7 @@ vim.api.nvim_create_autocmd({ 'BufEnter', 'WinEnter', 'BufWinEnter' }, {
|
|||||||
pattern = '*',
|
pattern = '*',
|
||||||
group = group,
|
group = group,
|
||||||
callback = function()
|
callback = function()
|
||||||
vim.cmd.setlocal("statusline=%{%v:lua.require('statusline').active()%}")
|
vim.cmd.setlocal("statusline=%{%v:lua.statusline_active()%}")
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -178,7 +178,7 @@ vim.api.nvim_create_autocmd({ 'BufLeave', 'WinLeave' }, {
|
|||||||
pattern = '*',
|
pattern = '*',
|
||||||
group = group,
|
group = group,
|
||||||
callback = function()
|
callback = function()
|
||||||
vim.cmd.setlocal("statusline=%{%v:lua.require('statusline').inactive()%}")
|
vim.cmd.setlocal("statusline=%{%v:lua.statusline_inactive()%}")
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
6
snippets/rst.snippets
Normal file
6
snippets/rst.snippets
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# reStructuredText snippets
|
||||||
|
|
||||||
|
snippet code
|
||||||
|
.. code-block:: ${1:language}
|
||||||
|
|
||||||
|
$0
|
||||||
Reference in New Issue
Block a user