summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTyler Davis <tyler@gluecode.net>2025-03-15 04:30:29 +0000
committerTyler Davis <tyler@gluecode.net>2025-03-15 04:30:29 +0000
commit4d24d338e4a7b7c9c31d451e8797c7eff781e092 (patch)
tree2b9a84fe98b91c7f550e28dc5aa4ae58953282aa
parentfcf300a450cce646b2632737c6a5fb2d3f1edb1b (diff)
downloaddotfiles-4d24d338e4a7b7c9c31d451e8797c7eff781e092.tar.gz
dotfiles-4d24d338e4a7b7c9c31d451e8797c7eff781e092.zip
sh: adding neovim again
-rw-r--r--.config/nvim/init.lua6
-rw-r--r--.config/nvim/lua/lsp_cfg.lua141
-rw-r--r--.config/nvim/lua/plugins.lua53
-rw-r--r--.config/nvim/lua/settings.lua96
-rw-r--r--.config/nvim/lua/statusline.lua17
-rw-r--r--.config/nvim/lua/wavefunction/init.lua (renamed from .config/nvim/lua/mappings.lua)0
-rw-r--r--.config/nvim/lua/wavefunction/packer.lua11
-rwxr-xr-x.local/bin/confgit.sh23
-rw-r--r--.local/share/git/repolist1
-rw-r--r--.profile19
10 files changed, 31 insertions, 336 deletions
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
index e617adc..c9c08e4 100644
--- a/.config/nvim/init.lua
+++ b/.config/nvim/init.lua
@@ -1,5 +1 @@
-require("plugins")
-require("lsp_cfg")
-require("settings")
-require("mappings")
-require("statusline")
+require("wavefunction")
diff --git a/.config/nvim/lua/lsp_cfg.lua b/.config/nvim/lua/lsp_cfg.lua
deleted file mode 100644
index 887b529..0000000
--- a/.config/nvim/lua/lsp_cfg.lua
+++ /dev/null
@@ -1,141 +0,0 @@
--- Statusline via LSP
-local lsp_status = require('lsp-status')
-lsp_status.config({
-indicator_errors = 'E',
-indicator_warnings = 'W',
-indicator_info = 'i',
-indicator_hint = '?',
-indicator_ok = 'Ok',
-})
-
-lsp_status.register_progress()
-
--- Set up Mason
-require("mason").setup()
-
--- Main LSP Configs
-local nvim_lsp = require('lspconfig')
-local capabilities = vim.lsp.protocol.make_client_capabilities()
-capabilities.textDocument.completion.completionItem.snippetSupport = true
-
--- null-ls setup
-local null_ls = require("null-ls")
-
--- Rust Tools setup
-local rt = {
- server = {
- settings = {
- on_attach = function(_, bufnr)
- -- Hover actions
- vim.keymap.set("n", "<C-space>", rt.hover_actions.hover_actions, { buffer = bufnr })
- -- Code action groups
- vim.keymap.set("n", "<Leader>a", rt.code_action_group.code_action_group, { buffer = bufnr })
- require 'illuminate'.on_attach(client)
- end,
- ["rust-analyzer"] = {
- checkOnSave = {
- command = "clippy"
- },
- },
- }
- },
-}
-require('rust-tools').setup(rt)
-
--- register any number of sources simultaneously
-local sources = {
- -- These are a first-pass at sources
- null_ls.builtins.completion.tags,
- null_ls.builtins.completion.vsnip,
- null_ls.builtins.diagnostics.clang_check,
- null_ls.builtins.diagnostics.gitlint,
- null_ls.builtins.diagnostics.golangci_lint,
- null_ls.builtins.diagnostics.markdownlint.with({
- extra_args = { "-c /home/tydavis/.markdowntlint.jsonc" },
- }),
- null_ls.builtins.formatting.clang_format,
- null_ls.builtins.formatting.markdownlint,
-}
-
-null_ls.setup({ sources = sources })
-
-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
-
- buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
-
- -- Mappings.
- local opts = { noremap=true, silent=true }
- buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts)
- buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts)
- buf_set_keymap('n', 'ga', '<Cmd>lua vim.lsp.buf.code_action()<CR>', opts)
- buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)
- buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
- buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
- buf_set_keymap('n', '<Leader>d', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
- -- buf_set_keymap('n', '<Leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
- buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
- buf_set_keymap('n', '<Leader>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
- buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
- buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
- buf_set_keymap('n', '<Leader>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
- -- Original Keybinds
- --buf_set_keymap('n', '<Leader>b', '<cmd>GoBuild<CR>', opts)
- --buf_set_keymap('n', '<Leader>t', '<cmd>GoTest<CR>', opts)
-
- -- Set some keybinds conditional on server capabilities
- if client.resolved_capabilities.document_formatting then
- buf_set_keymap("n", "ff", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
- elseif client.resolved_capabilities.document_range_formatting then
- buf_set_keymap("n", "ff", "<cmd>lua vim.lsp.buf.range_formatting()<CR>", opts)
- end
-end
-
--- Go
-nvim_lsp.gopls.setup{
- cmd = {'gopls'},
- -- for postfix snippets and analyzers
- capabilities = capabilities,
- settings = {
- gopls = { -- Analyzers and snippets enabled
- experimentalPostfixCompletions = true,
- analyses = {
- unusedparams = true,
- shadow = true,
- },
- staticcheck = true,
- },
- },
- on_attach = on_attach,
-}
-
- function org_imports(wait_ms)
- local params = vim.lsp.util.make_range_params()
- params.context = {only = {"source.organizeImports"}}
- local result = vim.lsp.buf_request_sync(0, "textDocument/codeAction", params, wait_ms)
- for _, res in pairs(result or {}) do
- for _, r in pairs(res.result or {}) do
- if r.edit then
- vim.lsp.util.apply_workspace_edit(r.edit, "utf-8")
- else
- vim.lsp.buf.execute_command(r.command)
- end
- end
- end
- end
--- END GO
-
--- NOTE omnifunc setting for LSP allows for C-x,C-o wildmenu completion
---
--- Autoformat
-vim.cmd [[
-
-autocmd BufWritePre <buffer> lua vim.lsp.buf.formatting_seq_sync()
-
-autocmd FileType go setlocal omnifunc=v:lua.vim.lsp.omnifunc
-autocmd FileType c,cpp setlocal omnifunc=v:lua.vim.lsp.omnifunc
-autocmd FileType rust setlocal omnifunc=v:lua.vim.lsp.omnifunc
-
-]]
---
diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua
deleted file mode 100644
index 67fd109..0000000
--- a/.config/nvim/lua/plugins.lua
+++ /dev/null
@@ -1,53 +0,0 @@
--- Use Packer
---
--- git clone --depth 1 https://github.com/wbthomason/packer.nvim\
--- ~/.local/share/nvim/site/pack/packer/start/packer.nvim
---
-
-return require("packer").startup(function(use)
- -- Packer can manage itself
- use("wbthomason/packer.nvim")
-
- -- Dependency for other plugins
- use("nvim-lua/plenary.nvim")
- use("nvim-lua/popup.nvim")
-
- -- LSP
- use("williamboman/mason.nvim")
- use("williamboman/mason-lspconfig.nvim")
- use("neovim/nvim-lspconfig")
-
- use("nvim-lua/lsp_extensions.nvim")
- use("nvim-lua/lsp-status.nvim")
- use("nvim-lua/completion-nvim")
-
- use("jose-elias-alvarez/null-ls.nvim")
-
- -- Languages
- use("rust-lang/rust.vim")
- use("simrat39/rust-tools.nvim")
- use("fatih/vim-go")
-
- -- Features
- use("jremmen/vim-ripgrep")
- use("vim-scripts/DrawIt")
-
- --vim-go search requirement
- use("vijaymarupudi/nvim-fzf")
-
- -- Debuggers
- use("mfussenegger/nvim-dap")
- use("rcarriga/nvim-dap-ui")
- use("theHamsta/nvim-dap-virtual-text")
-
- -- Completion framework
- use("hrsh7th/nvim-cmp")
- use("hrsh7th/cmp-nvim-lsp")
-
- -- Useful completion sources
- use("hrsh7th/cmp-nvim-lua")
- use("hrsh7th/cmp-nvim-lsp-signature-help")
- use("hrsh7th/cmp-path")
- use("hrsh7th/cmp-buffer")
-end)
-
diff --git a/.config/nvim/lua/settings.lua b/.config/nvim/lua/settings.lua
deleted file mode 100644
index cac13fb..0000000
--- a/.config/nvim/lua/settings.lua
+++ /dev/null
@@ -1,96 +0,0 @@
--- Settings file
-HOME = os.getenv("HOME")
-
--- Core settings
-vim.g.mapleader = '\\'
-
---New Neovim 0.7 settings, as vimcmd because not yet Lua-fied
-vim.cmd [[
-let g:do_filetype_lua = 1
-let g:did_load_filetypes = 0
-]]
-
--- Sidebar
-vim.o.number = true -- line number on the left
-vim.o.numberwidth = 2 -- always reserve 2 spaces for line number
-vim.o.signcolumn = 'yes' -- keep 1 column for coc.vim check
-vim.o.modelines = 0
-vim.o.showcmd = true -- display command in bottom bar
-
--- Files and interface
-vim.o.encoding = "utf-8"
-vim.o.backspace = "eol,start,indent" -- backspace works on every char in insert mode
-vim.o.completeopt = 'menuone,noselect'
-vim.o.history = 500
---vim.o.dictionary = '/usr/share/dict/words'
-vim.o.startofline = true
-
-vim.o.expandtab = true -- expand tab to spaces
-vim.o.autoindent = true
-vim.o.smartindent = true
-vim.o.tabstop = 8
-vim.o.shiftwidth = 8 -- indentation rule
-vim.o.shiftround = true
-
--- Display
-vim.o.showmatch = true -- show matching brackets
-vim.o.scrolloff = 7 -- always show 3 rows from edge of the screen
-vim.o.synmaxcol = 250 -- stop syntax highlight after x lines for performance
-vim.o.laststatus = 3 -- always show status line, globally
-
-vim.o.list = false -- do not display white characters
-vim.o.foldenable = false
-vim.o.foldlevel = 4 -- limit folding to 4 levels
-vim.o.foldmethod = 'syntax' -- use language syntax to generate folds
-vim.o.matchtime = 2 -- delay (tenths of seconds) before showing matching paren
-
-vim.o.errorbells = false
-vim.o.visualbell = false
-
--- Search
-vim.o.incsearch = true -- starts searching as soon as typing, without enter needed
-vim.o.ignorecase = true -- ignore letter case when searching
-vim.o.smartcase = true -- case insentive unless capitals used in search
-
--- Colors
-vim.o.background = "light"
--- Can't set some values with lua yet
-vim.cmd [[
- syntax off
- colorscheme peachpuff
-]]
-
--- Backup files
-vim.o.backup = true -- use backup files
-vim.o.writebackup = false
-vim.o.swapfile = false -- do not use swap file
-vim.o.undodir = HOME .. '/.vim/tmp/undo//' -- undo files
-vim.o.backupdir = HOME .. '/.vim/tmp/backup//' -- backups
-vim.o.directory = '/.vim/tmp/swap//' -- swap files
-
--- Command Mode
-vim.o.wildmenu = true -- on TAB, complete options for system command
-vim.o.wildignore = 'deps,.svn,CVS,.git,.hg,*.o,*.a,*.class,*.mo,*.la,*.so,*.obj,*.swp,*.jpg,*.png,*.xpm,*.gif,.DS_Store,*.aux,*.out,*.toc'
-
--- Remove trailing whitespace
-vim.cmd [[
-autocmd BufWritePre * :%s/\s\+$//e
-]]
-
--- Language Settings
--- Go
-vim.cmd [[
-autocmd BufWritePre *.go lua vim.lsp.buf.formatting()
-autocmd BufWritePre *.go lua org_imports(2000)
-]]
-
--- All files attempt to auto-format
-vim.cmd [[autocmd BufWritePre * lua vim.lsp.buf.formatting_sync()]]
-
--- Auto-compile after changes to the file
-vim.cmd [[
- augroup packer_user_config
- autocmd!
- autocmd BufWritePost plugins.lua source <afile> | PackerCompile
- augroup end
-]]
diff --git a/.config/nvim/lua/statusline.lua b/.config/nvim/lua/statusline.lua
deleted file mode 100644
index facc04c..0000000
--- a/.config/nvim/lua/statusline.lua
+++ /dev/null
@@ -1,17 +0,0 @@
--- Lua statusline imported into the main init
-
--- Line table Left-to-Right
-local stl = {
- ' [%n] ', -- Buffer
- ' %f ', -- Filename with Path
- ' %m%r%w ', -- Modified flag
- ' (%{&filetype})', -- VIM Filetype
- " %{''.(&fenc!=''?&fenc:&enc).''}", -- File Encoding
- ' %{(&bomb?\",BOM\":\"\")}', -- "UCS-BOM" /bomb/ detection
- ' %=', -- Separator
- ' row:%l/%L (%03p%%)', -- Formatted row, then percentage of file
- ' col:%03c ', -- Formatted column
-}
--- Generate the statusline
-vim.o.statusline = table.concat(stl)
-
diff --git a/.config/nvim/lua/mappings.lua b/.config/nvim/lua/wavefunction/init.lua
index e69de29..e69de29 100644
--- a/.config/nvim/lua/mappings.lua
+++ b/.config/nvim/lua/wavefunction/init.lua
diff --git a/.config/nvim/lua/wavefunction/packer.lua b/.config/nvim/lua/wavefunction/packer.lua
new file mode 100644
index 0000000..9999846
--- /dev/null
+++ b/.config/nvim/lua/wavefunction/packer.lua
@@ -0,0 +1,11 @@
+
+
+-- This file can be loaded by calling `lua require('plugins')` from your init.vim
+
+-- Only required if you have packer configured as `opt`
+vim.cmd [[packadd packer.nvim]]
+
+return require('packer').startup(function(use)
+ -- Packer can manage itself
+ use 'wbthomason/packer.nvim'
+
diff --git a/.local/bin/confgit.sh b/.local/bin/confgit.sh
index e1db9a4..643080b 100755
--- a/.local/bin/confgit.sh
+++ b/.local/bin/confgit.sh
@@ -108,24 +108,19 @@ git config --global mergetool.vscode.cmd "code --wait \$MERGED"
# Editors
if [ "$(command -v code)" ] && [ "$(env | grep VSCODE)" ]; then
- export EDITOR="code"
- export VISUAL="code"
git config --global core.editor "code --wait"
git config --global diff.tool vscode
git config --global merge.tool vscode
-#elif [ "$(command -v hx)" ]; then
-# export EDITOR="hx"
-# export VISUAL="hx"
-# git config --global core.editor hx
-# # Still can't find whether helix supports merge contents
-# git config --global diff.tool vim
-# git config --global merge.tool vim
else
- export EDITOR="vim"
- export VISUAL="vim"
- git config --global core.editor vim
- git config --global diff.tool vim
- git config --global merge.tool vim
+ if [ "$(command -v nvim)" ]; then
+ git config --global core.editor nvim
+ git config --global diff.tool nvim
+ git config --global merge.tool nvim
+ else
+ git config --global core.editor vim
+ git config --global diff.tool vim
+ git config --global merge.tool vim
+ fi
fi
# Use pager for large diffs
diff --git a/.local/share/git/repolist b/.local/share/git/repolist
index 104e5f0..1bd1522 100644
--- a/.local/share/git/repolist
+++ b/.local/share/git/repolist
@@ -5,5 +5,6 @@ hut,origin=https://git.sr.ht/~xenrox/hut
journal,origin=ssh://tydavis@git.gluecode.net:/var/www/.gitdata/journal.git,sourcehut=git@git.sr.ht:~tydavis/journal
resume,origin=ssh://tydavis@git.gluecode.net:/var/www/.gitdata/resume.git,sourcehut=git@git.sr.ht:~tydavis/resume
senpai,origin=https://git.sr.ht/~delthas/senpai
+servo,origin=ssh://git.gluecode.net/var/www/.gitdata/servo.git
standards,origin=ssh://tydavis@git.gluecode.net:/var/www/.gitdata/standards.git,sourcehut=git@git.sr.ht:~tydavis/standards
wally-cli,origin=git@github.com:zsa/wally-cli.git
diff --git a/.profile b/.profile
index 2a83649..3eba7f4 100644
--- a/.profile
+++ b/.profile
@@ -97,17 +97,16 @@ fi
if [ ! "$(command -v vim)" ]; then
alias vim=vi
export EDITOR="vi"
-fi
-
-if [ "$(command -v code)" ] && [ "$(env | grep VSCODE)" ]; then
- export EDITOR="code"
- export VISUAL="code"
-#elif [ "$(command -v hx)" ]; then
-# export EDITOR="hx"
-# export VISUAL="hx"
else
- export EDITOR="vim"
- export VISUAL="vim"
+ # But do we also have neovim?
+ if [ ! "$(command -v nvim)" ]; then
+ export EDITOR="vim"
+ export VISUAL="vim"
+ else
+ export EDITOR="nvim"
+ export VISUAL="nvim"
+ alias vim=nvim
+ fi
fi
# Ensure less always uses the one-page, raw control characters, and no-init settings