diff --git a/fish/.config/fish/conf.d/fish_frozen_key_bindings.fish b/fish/.config/fish/conf.d/fish_frozen_key_bindings.fish new file mode 100644 index 0000000..495aee9 --- /dev/null +++ b/fish/.config/fish/conf.d/fish_frozen_key_bindings.fish @@ -0,0 +1,14 @@ +# This file was created by fish when upgrading to version 4.3, to migrate +# the 'fish_key_bindings' variable from its old default scope (universal) +# to its new default scope (global). We recommend you delete this file +# and configure key bindings in ~/.config/fish/config.fish if needed. + +# set --global fish_key_bindings fish_default_key_bindings + +# Prior to version 4.3, fish shipped an event handler that runs +# `set --universal fish_key_bindings fish_default_key_bindings` +# whenever the fish_key_bindings variable is erased. +# This means that as long as any fish < 4.3 is still running on this system, +# we cannot complete the migration. +# As a workaround, erase the universal variable at every shell startup. +set --erase --universal fish_key_bindings diff --git a/fish/.config/fish/conf.d/fish_frozen_theme.fish b/fish/.config/fish/conf.d/fish_frozen_theme.fish new file mode 100644 index 0000000..5c7cef9 --- /dev/null +++ b/fish/.config/fish/conf.d/fish_frozen_theme.fish @@ -0,0 +1,37 @@ +# This file was created by fish when upgrading to version 4.3, to migrate +# theme variables from universal to global scope. +# Don't edit this file, as it will be written by the web-config tool (`fish_config`). +# To customize your theme, delete this file and see +# help interactive#syntax-highlighting +# or +# man fish-interactive | less +/^SYNTAX.HIGHLIGHTING +# for appropriate commands to add to ~/.config/fish/config.fish instead. +# See also the release notes for fish 4.3.0 (run `help relnotes`). + +set --global fish_color_autosuggestion brblack +set --global fish_color_cancel -r +set --global fish_color_command normal +set --global fish_color_comment red +set --global fish_color_cwd green +set --global fish_color_cwd_root red +set --global fish_color_end green +set --global fish_color_error brred +set --global fish_color_escape brcyan +set --global fish_color_history_current --bold +set --global fish_color_host normal +set --global fish_color_host_remote yellow +set --global fish_color_normal normal +set --global fish_color_operator brcyan +set --global fish_color_param cyan +set --global fish_color_quote yellow +set --global fish_color_redirection cyan --bold +set --global fish_color_search_match white --background=brblack +set --global fish_color_selection white --bold --background=brblack +set --global fish_color_status red +set --global fish_color_user brgreen +set --global fish_color_valid_path --underline +set --global fish_pager_color_completion normal +set --global fish_pager_color_description yellow -i +set --global fish_pager_color_prefix normal --bold --underline +set --global fish_pager_color_progress brwhite --background=cyan +set --global fish_pager_color_selected_background -r diff --git a/fish/.config/fish/config.fish b/fish/.config/fish/config.fish index bc22228..6ac42b7 100644 --- a/fish/.config/fish/config.fish +++ b/fish/.config/fish/config.fish @@ -18,6 +18,7 @@ if string match -q "*turing*" "$host" /Users/scie/.platformio/penv/bin/ \ /Users/scie/.cargo/bin \ /Users/scie/.local/xonsh-env/xbin \ + /Users/scie/go/bin \ /usr/bin \ /usr/local/bin \ /usr/sbin \ @@ -42,6 +43,21 @@ else if test "$host" = "lovelace" else if test "$host" = "lee" fish_add_path ~/.local/bin end +if test -d /home/linuxbrew/.linuxbrew + # Homebrew is installed on Linux + + set -gx HOMEBREW_PREFIX "/home/linuxbrew/.linuxbrew" + set -gx HOMEBREW_CELLAR "/home/linuxbrew/.linuxbrew/Cellar" + set -gx HOMEBREW_REPOSITORY "/home/linuxbrew/.linuxbrew/Homebrew" + set -gx PATH "/home/linuxbrew/.linuxbrew/bin" "/home/linuxbrew/.linuxbrew/sbin" $PATH + set -q MANPATH; or set MANPATH '' + set -gx MANPATH "/home/linuxbrew/.linuxbrew/share/man" $MANPATH + set -q INFOPATH; or set INFOPATH '' + set -gx INFOPATH "/home/linuxbrew/.linuxbrew/share/info" $INFOPATH + + # Homebrew asked for this in order to `brew upgrade` + set -gx HOMEBREW_GITHUB_API_TOKEN {api token goes here, don't remember where that's created} +end if status is-interactive set -g fish_greeting "" @@ -49,7 +65,7 @@ if status is-interactive fish_config theme choose "Rosé Pine" starship init fish | source - if not string match -q "*purdue*" "$host" - zoxide init fish | source - end + zoxide init fish | source end + +alias setupidf "source /opt/esp/esp-idf/export.fish" diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf index 1589e31..a6abfa8 100644 --- a/tmux/.tmux.conf +++ b/tmux/.tmux.conf @@ -57,6 +57,8 @@ set -g @plugin 'tmux-plugins/tmux-sensible' set -g @plugin 'tmux-plugins/tmux-yank' # set -g @plugin 'Determinant/tmux-colortag' # set -g @plugin 'erikw/tmux-powerline' +set -g @plugin 'tomhey/tmux-remote-sessions' + set -g @plugin 'rose-pine/tmux' set -g @rose_pine_variant 'main' set -g @rose_pine_left_separator ' > ' # The strings to use as separators are 1-space padded diff --git a/vim/.config/nvim/init.lua b/vim/.config/nvim/init.lua index c6274d3..9b96fd3 100644 --- a/vim/.config/nvim/init.lua +++ b/vim/.config/nvim/init.lua @@ -26,7 +26,7 @@ require("remap") if vim.g.is_purdue then - require("westwood-lint") + -- require("westwood-lint") end require("standard-lint") @@ -71,12 +71,23 @@ vim.api.nvim_create_autocmd("FileType", { callback = function() -- Line wrapping settings vim.opt_local.textwidth = 80 - vim.opt_local.formatoptions = "atcqjnl" + vim.opt_local.formatoptions = "tcqjnl" vim.opt_local.wrap = true vim.opt_local.linebreak = true - -- Show column guide vim.opt_local.colorcolumn = "80" + + -- Toggle 'a' in formatoptions + vim.keymap.set("n", "a", function() + local fo = vim.opt_local.formatoptions:get() + if fo.a then + vim.opt_local.formatoptions:remove("a") + print("Auto-formatting disabled") + else + vim.opt_local.formatoptions:append("a") + print("Auto-formatting enabled") + end + end, { buffer = true, desc = "Toggle auto-formatting" }) end, }) -- Setup formatting on LSP attach diff --git a/vim/.config/nvim/lsp/asm-lsp.lua b/vim/.config/nvim/lsp/asm-lsp.lua new file mode 100644 index 0000000..28678c0 --- /dev/null +++ b/vim/.config/nvim/lsp/asm-lsp.lua @@ -0,0 +1,15 @@ +---@brief +--- +--- https://github.com/bergercookie/asm-lsp +--- +--- Language Server for NASM/GAS/GO Assembly +--- +--- `asm-lsp` can be installed via cargo: +--- cargo install asm-lsp + +---@type vim.lsp.Config +return { + cmd = { 'asm-lsp' }, + filetypes = { 'asm', 'vmasm' }, + root_markers = { '.asm-lsp.toml', '.git' }, +} diff --git a/vim/.config/nvim/lua/native-lsp.lua b/vim/.config/nvim/lua/native-lsp.lua index 162533d..ea0434d 100644 --- a/vim/.config/nvim/lua/native-lsp.lua +++ b/vim/.config/nvim/lua/native-lsp.lua @@ -77,6 +77,8 @@ vim.lsp.config('csharp-ls', { vim.lsp.enable("csharp-ls") +vim.lsp.enable("asm-lsp") + -- https://lsp-zero.netlify.app/blog/lsp-client-features.html vim.opt.completeopt = { 'menu', 'menuone', 'noselect', 'noinsert' } diff --git a/vim/.config/nvim/lua/remap.lua b/vim/.config/nvim/lua/remap.lua index 974ff11..73b549c 100644 --- a/vim/.config/nvim/lua/remap.lua +++ b/vim/.config/nvim/lua/remap.lua @@ -44,6 +44,7 @@ vim.keymap.set('n', 'fs', ts_builtins.lsp_workspace_symbols, { desc = 'T vim.keymap.set('n', 'fts', ts_builtins.treesitter, { desc = 'Telescope find treesitter' }) vim.keymap.set('n', 'fd', ts_builtins.lsp_definitions, { desc = 'Telescope find definition' }) vim.keymap.set('n', 'ftd', ts_builtins.lsp_type_definitions, { desc = 'Telescope find type definition' }) +vim.keymap.set('n', 'fr', ts_builtins.lsp_references, { desc = 'Telescope find references' }) -- Undo Tree vim.keymap.set('n', 'u', vim.cmd.UndotreeToggle) @@ -52,18 +53,18 @@ vim.keymap.set('n', 'u', vim.cmd.UndotreeToggle) local betterTerm = require('betterTerm') -- toggle firts term -vim.keymap.set({"n", "t"}, "tt", betterTerm.open, { desc = "Open terminal"}) +vim.keymap.set({ "n", "t" }, "tt", betterTerm.open, { desc = "Open terminal" }) -- Select term focus -- vim.keymap.set({"n"}, "tf", betterTerm.select, { desc = "Select terminal"}) -- Create new term local current = 2 vim.keymap.set( - {"n"}, "tn", - function() - betterTerm.open(current) - current = current + 1 - end, - { desc = "New terminal"} + { "n" }, "tn", + function() + betterTerm.open(current) + current = current + 1 + end, + { desc = "New terminal" } ) -- Neotree @@ -84,15 +85,11 @@ vim.keymap.set('n', '', function() ntc.execute({ action = "focus", -- OPTIONAL, this is the default value source = "filesystem", -- OPTIONAL, this is the default value - position = "right", -- OPTIONAL, this is the default value + position = "right", -- OPTIONAL, this is the default value reveal_file = reveal_file, -- path to file or folder to reveal reveal_force_cwd = true, -- change cwd without asking if needed toggle = true, - }) end, + }) + end, { desc = "Show Sidebar" } ) - - - - - diff --git a/vim/.config/nvim/lua/standard-lint.lua b/vim/.config/nvim/lua/standard-lint.lua index 4aa79b1..2f06ce5 100644 --- a/vim/.config/nvim/lua/standard-lint.lua +++ b/vim/.config/nvim/lua/standard-lint.lua @@ -2,7 +2,7 @@ vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave", "TextCh callback = function() -- try_lint without arguments runs the linters defined in `linters_by_ft` -- for the current filetype - require("lint").try_lint() + require("lint").try_lint(nil, { ignore_errors = true }) -- You can call `try_lint` with a linter name or a list of names to always -- run specific linters, independent of the `linters_by_ft` configuration