Compare commits

..

1 Commits

Author SHA1 Message Date
211c2dec4b Add go ftplugin 2024-05-14 21:42:16 +01:00
24 changed files with 54 additions and 87 deletions

View File

@@ -0,0 +1 @@
autocmd BufNewFile,BufReadPost CMakeCache.txt set filetype=cmakecache

2
after/ftdetect/cpp.vim Normal file
View File

@@ -0,0 +1,2 @@
" Force *.def to C++ filetype for LLVM
au BufNewFile,BufReadPost *.def set filetype=cpp

3
after/ftdetect/llvm.vim Normal file
View File

@@ -0,0 +1,3 @@
" Set .ll files to LLVM IR filetype
au BufNewFile,BufReadPost *.ll set filetype=llvm
au BufNewFile,BufReadPost *.test set filetype=llvm

View File

@@ -0,0 +1,3 @@
" Force *.md to markdown filetype
au BufNewFile,BufReadPost *.md set filetype=markdown
au BufNewFile,BufReadPost *.ronn set filetype=markdown

View File

@@ -0,0 +1,2 @@
" Force *.cl to OpenCL C filetype
au BufNewFile,BufReadPost *.cl set filetype=opencl

View File

@@ -0,0 +1,3 @@
" 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

View File

@@ -0,0 +1 @@
autocmd BufNewFile,BufReadPost */requirements.txt set filetype=requirements

View File

@@ -0,0 +1,2 @@
" Force *.td to tablegen filetype
au BufNewFile,BufReadPost *.td set filetype=tablegen

3
after/ftdetect/zsh.vim Normal file
View File

@@ -0,0 +1,3 @@
" Force .enter/.exit to be zsh
au BufNewFile,BufReadPost .enter set filetype=zsh
au BufNewFile,BufReadPost .exit set filetype=zsh

View File

@@ -2,5 +2,4 @@ vim.opt.expandtab = false
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
vim.opt.softtabstop = 4
vim.wo.listchars = 'extends:»,nbsp:⦸,precedes:«,tab: ,trail:·'
vim.bo.formatprg = 'gofmt'
vim.opt.list = false

View File

@@ -1,5 +1,11 @@
vim.g.mapleader = ' '
vim.g.maplocalleader = ' '
require('settings')
require('mappings')
require('commands')
require('netrw')
require('autocmds')
require('statusline')
require('ui')
require('build')
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
if not vim.loop.fs_stat(lazypath) then

View File

@@ -1,40 +1,41 @@
local opts = { remap = false, silent = true }
vim.g.mapleader = ' '
-- Quick write
vim.keymap.set('n', '<leader>w', ':w!<CR>', opts)
vim.keymap.set('n', '<leader>w', ':w!<CR>', { remap = false })
-- Treat long lines as line containing breaks
vim.keymap.set('n', 'j', 'gj', opts)
vim.keymap.set('n', 'k', 'gk', opts)
vim.keymap.set('n', 'j', 'gj', { remap = false })
vim.keymap.set('n', 'k', 'gk', { 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>tc', ':tabclose<CR>', opts)
vim.keymap.set('n', '<leader>to', ':tabonly<CR>', opts)
-- Quickly access spelling menu
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', opts)
vim.keymap.set('i', '<C-s>', '<C-g>u<C-X>s', { remap = false })
vim.keymap.set('n', '<C-s>', 'i<C-g>u<C-X>s', { remap = false })
-- Clear search highlights
vim.keymap.set('n', '<leader><Space>', ':nohlsearch<CR>', opts)
vim.keymap.set('n', '<leader><Space>', ':nohlsearch<CR>', { remap = false })
-- Disable 'Q' from opening Ex mode
vim.keymap.set('n', 'Q', '<nop>', opts)
vim.keymap.set('n', 'Q', '<nop>', { remap = false })
-- System clipboard yank/put
vim.keymap.set('', '<leader>y', '"+y', opts)
vim.keymap.set('', '<leader>Y', '"+Y', opts)
vim.keymap.set('', '<leader>p', '"+p', opts)
vim.keymap.set('', '<leader>P', '"+P', opts)
vim.keymap.set('', '<leader>y', '"+y', { remap = false })
vim.keymap.set('', '<leader>Y', '"+Y', { remap = false })
vim.keymap.set('', '<leader>p', '"+p', { remap = false })
vim.keymap.set('', '<leader>P', '"+P', { remap = false })
-- Undo neovim's default mapping of Y to y$
vim.cmd.unmap('Y')
-- Make nvim :terminal more like vim :terminal
vim.keymap.set('t', '<C-w>N', '<C-\\><C-n>', opts)
vim.keymap.set('t', '<C-w>N', '<C-\\><C-n>', { remap = true })
-- 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-e>', ':Program<CR>', opts)
vim.keymap.set('n', '<C-w><C-s>', ':Source<CR>', opts)

View File

@@ -1,4 +1,4 @@
local kanagawa = {
return {
'rebelot/kanagawa.nvim',
config = function()
local kanagawa = require('kanagawa')
@@ -35,5 +35,3 @@ local kanagawa = {
vim.cmd.highlight('link zshTodo Comment')
end
}
return kanagawa

View File

@@ -72,10 +72,6 @@ return {
},
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-lspconfig').setup({
automatic_installation = false,
@@ -85,22 +81,12 @@ return {
-- Default handler, sets up everything unless a custom language server
-- setup handler is defined below
function(server_name)
require('lspconfig')[server_name].setup({
capabilities = capabilities,
})
end,
['clangd'] = function()
require('lspconfig').clangd.setup({
capabilities = capabilities,
cmd = { 'clangd', '--completion-style=detailed' }
})
require('lspconfig')[server_name].setup({})
end,
['lua_ls'] = function()
require('neodev').setup()
require('lspconfig').lua_ls.setup({
capabilities = capabilities,
settings = {
Lua = {
diagnostics = {
@@ -114,7 +100,6 @@ return {
['pyright'] = function()
require('lspconfig').pyright.setup({
capabilities = capabilities,
settings = {
pyright = {
disableOrganizeImports = true, -- Use ruff import sorter instead

View File

@@ -5,11 +5,9 @@ return {
'nvim-telescope/telescope-fzy-native.nvim',
'nvim-tree/nvim-web-devicons',
'axkirillov/easypick.nvim',
'catgoose/telescope-helpgrep.nvim',
},
config = function()
local telescope = require('telescope')
local actions = require('telescope.actions')
telescope.setup({
defaults = {
mappings = {
@@ -22,25 +20,11 @@ return {
['<C-s>'] = 'select_horizontal',
['<C-h>'] = 'preview_scrolling_left',
['<C-l>'] = 'preview_scrolling_right',
},
}
},
layout_config = {
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')
@@ -52,8 +36,7 @@ return {
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>gb', builtin.buffers, 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>gh', builtin.help_tags, opts)
vim.keymap.set('n', '<leader>bl', builtin.current_buffer_fuzzy_find, opts)
require('easypick').setup({

View File

@@ -109,7 +109,7 @@ end
-- Define active statusline, this statusline is dynamic with StatusLineLight
-- being updated based on the current mode and only used for current buffer.
function _G.statusline_active()
function statusline.active()
local mode = get_mode()
if vim.o.buftype == 'help' then
if mode == 'Normal' then mode = 'Help' end
@@ -138,7 +138,7 @@ function _G.statusline_active()
return generic('StatusLineLight', mode, true)
end
function _G.statusline_inactive()
function statusline.inactive()
local mode = modes[vim.fn.char2nr(vim.fn.mode())].name
local line = ''
if vim.o.buftype == 'help' then
@@ -169,7 +169,7 @@ vim.api.nvim_create_autocmd({ 'BufEnter', 'WinEnter', 'BufWinEnter' }, {
pattern = '*',
group = group,
callback = function()
vim.cmd.setlocal("statusline=%{%v:lua.statusline_active()%}")
vim.cmd.setlocal("statusline=%{%v:lua.require('statusline').active()%}")
end
})
@@ -178,7 +178,7 @@ vim.api.nvim_create_autocmd({ 'BufLeave', 'WinLeave' }, {
pattern = '*',
group = group,
callback = function()
vim.cmd.setlocal("statusline=%{%v:lua.statusline_inactive()%}")
vim.cmd.setlocal("statusline=%{%v:lua.require('statusline').inactive()%}")
end
})

View File

@@ -1,19 +0,0 @@
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',
},
})

View File

@@ -1,6 +0,0 @@
# reStructuredText snippets
snippet code
.. code-block:: ${1:language}
$0