From 51946c03efb4f7502aa9f138ca52d7f0e71f3b99 Mon Sep 17 00:00:00 2001 From: Andrew Haynes Date: Thu, 7 May 2026 01:06:53 -0400 Subject: [PATCH] I made a lot of changes, especially to neovim for xcode development and want a branch for it. --- .DS_Store | Bin 8196 -> 10244 bytes brew/.Brewfile | 10 + nvim/.DS_Store | Bin 0 -> 6148 bytes nvim/.config/.DS_Store | Bin 0 -> 6148 bytes nvim/.config/nvim/.DS_Store | Bin 6148 -> 6148 bytes nvim/.config/nvim/init.lua | 411 ++++++++++++++++++-------- nvim/.config/nvim/nvim-pack-lock.json | 80 ++++- ssh/.ssh/config | 2 +- zshrc/.zshrc | 7 + 9 files changed, 380 insertions(+), 130 deletions(-) create mode 100644 nvim/.DS_Store create mode 100644 nvim/.config/.DS_Store diff --git a/.DS_Store b/.DS_Store index 9abbe451185aacaf7eac5556938b07742bb324f9..35c1baf9f6ec15b6fd9d99ac386cdc0f82c6d6c1 100644 GIT binary patch literal 10244 zcmeHM&2Jk;6n~Srcug9zX_K@F6&5TIQlm71v;rX%*G*M&s1nstNcw?U+Z%h8^^Uc> zj+;i2eBlD(z>Nzi>Wu?Oq#`8XfJCLJLISC$A|(ESa_t52=ELh*+wFy_s;U`l=e?cx zX5O3M?wi>+1^|+8R^|XK05I@k)I5yUfWqYL>MKLCm-le8@;UplbjDFD(GHuHkK$rz-T zq&Z33f}#Wq5nYjru0*C7M0Ce?OX}q$Z3`;81ChxGk(P=Oj2PDnHQFjfcGL{>c5sE=ty1chI=o$4bDdVvoH$4Q$aZ}v z;2qqGgDO`)bo~l#l8mRI-brwlG!)a2p^qvAfUKSQo(R&IG)&WhaW%<3=G?940k{K(V;Ocbs;L5Q@k&-#WP1h!vw@;lc&yX1Jwex61Vt*^Uf>I=`u_^^1p z5;$zg>;iuy0kXOCZ4PTT_ojf?gsflyG7}w6Qj-1I5$vjO*PTo@w<2ycxSgGZvv3jC zU<+=*7w{E)13$oR_!I8K1Ck~td5xST^W=T9Kt3Q#J!qGBqT(p z=TRra=fs!&8fp-IcOkm@vIwG{anw+HxK=Wt_;G>p4d2(_d) zWC^{I64jTVf@7b*DndM#c6Z5sX~GZj0dDZ!(Z>B5tzz&tl9u6nwA`no`f#%lFEa!5 zy52lWZ-8GZ+_CG>gzE`^jLLofT%=6(88(s_joswSSY}D+!J6><4Qk?8}6RIiZV2KqH_L&fyVhoF&|DS*O|NoD{ zk{&`Mpb>al5g@6>!eSo1>zq0CI?B%4ExbO)ixsBV7L<3viXX=#<;U@O!;a(m0SdOw vBF_u*ImRGu3yK_;C;n%^|2k-kQ#76b>-;}H^B$Dnt9j-ic_Pny!ukJy^FlTG literal 8196 zcmeHLJ%|%Q6n^8yyT~ExHMvGzEvzJRh5dR&Z4?gE3Bn~gO@zdRB3>WOa9O=@@B3-wk%mmPKl2Z95^f#5)JAUN9w0w9*KTL!+P50IM3#n{EfMk&QHZTDbYsc|ia zvE{%cPDhMgOl-8}WNbMZ$821OVuT%ak))G}Z47g8AUKeBfP42Ds#1&kbW8W|y@4cO z`nI0W==E#0X1Cu2Qr=qHKD)jC?p#sU%3ov+I{dc4v5kbY1U+rMNf_HV2^Onf-Kqdh zF|Fal%jcUX---r>XY56|=B;iD?=*P3@S#Nw>T2#I2d?n##ltoKk0&o4%)Jr*9XXkX zNjX}_+@oa{!fP1e)6p6jz(_I8f9m^2>yYJFc*b3XYhHV39J@(Fx=wd|Uh`FW9j1A| z%>Mj*{I~BZp79ppKCj%ZXK=PV@O?yMeD3+|N1uXyM~2q$>f(6qnAMQW%9Kpb^7SmS z6(#%nm^?g=qlkV=+P?O_4Je*Q_z!QTF3j# zsSbr_{6)COd+-?!P5bG-I5DJ_$4t}Ld{lEkJd=EMzX4UR&qZ;D$M631u!t~%1H0q^ z|DG`Bx&J>u`Tf5ng()}?9QZ#SFr`|(wurU4-a5BR?zJOq%h-5uUSgw^V3KwmQQC1t k*N#hWgjBAHT}*7m9*kXo5#at?c+cPP{FieProH39FU(ziNdN!< diff --git a/brew/.Brewfile b/brew/.Brewfile index 24fc2ca..48e71e7 100644 --- a/brew/.Brewfile +++ b/brew/.Brewfile @@ -7,6 +7,9 @@ cask "logi-options+" cask "font-jetbrains-mono-nerd-font" # cask "utm" cask "bitwarden" +# cask "modrinth" +# cask "vlc" +cask "prismlauncher" brew "ripgrep" brew "neovim" @@ -23,8 +26,15 @@ brew "git" brew "zoxide" brew "stow" brew "mosh" +brew "go" # brew "jpeg-turbo" brew "npm" brew "wget" brew "opencode" +brew "xcp" +brew "xcbeautify" +brew "pipx" +brew "jq" +brew "coreutils" +brew "xcode-build-server" # brew "podman" diff --git a/nvim/.DS_Store b/nvim/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..c995770df5ab0eaebd6d780ba29fc3156a822313 GIT binary patch literal 6148 zcmeHK%}*0S6n_KNZb4*$7BR+TV=pEU1qGrphNYA!2Lqu5i-2|8PRoYvPP4mEfspj9 zClAJxiC6yv6E7wnezlTJp75YwMR~!j%rb@Q(Mifv05guf(<`qdCPpXz?hS7=vIEwrnQ_NpJHxc z*)H`&fL)~MvU1;ci>#Jn8*b4Tu^Bm`#k5#XAK2L$yMANH7#Sbi9Wr)qUK<`VM#o2Y zcVk*2dG*$OZr!Q4?1`k2;He{|OJM_^qSCZ0yReC;65kd1*x1zuk5) z)7#e*?@1&Q{pSYG_h0DG>3w;tuwM4~dZ(Dfyp*#+m&=}A%v7y{?Uu6veH>)$ZJN`2 zn_TB<@!`H{VXKNh@qL3xcgLgD75QdMC7%Y_1Nu@<@AeBGbDTNm+kws8r4=99o(X7W z#w{_dxQR^9R{4~_NIf61B__LMd7kB#X=-cLvGUZJbyF+|SS4#0m@8M_Ez;s}&Z9hK za^i>NGHFiNg_blgON$OksQ|>{4NW0QzN1oIaIFfBCCxcGjNuJ32$OIR7GWK>;TgPy z*YFnh;4^%OpCn3ja)}I*QF5D1kh^4tJRk+KMr`8A1Z|B+eNmNCKzvl19<@^*$rM#JXTA106TD*lC6b?sm^L0i*$HZz{~q8oQ87JLX<3 zM(aH0b%fJx*=aI_oB&s12KD8qq>%9ux0Ch7}?i0WuJggX#ZV%UcagbW;Jpj{4ie*aJZ`TPHH zP&f)12pRaV7$A{!CY{19sk^mhbNsF~usy=Yh5OYdiV*D7bu1Kq6%Sw&f^!B}5KV=3 TiD*Fy{|E>g!Y*XspEB?pr^@gu literal 0 HcmV?d00001 diff --git a/nvim/.config/.DS_Store b/nvim/.config/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b6e98484b56aa662b0af779f504d1c5c87d9c525 GIT binary patch literal 6148 zcmeHKO-~a+7@mP@w;-}Wix^|Fu@@6a1O=iohNYA!2LoXV76I#SJCqIEnPzv}3WTI* zJ^2HSCl6jdnHUpK>czy9H{(xGkKTOeqfo4RBx3eWW}bK6ubFw8o#`NiaHd)uLr6ym zY0x;vx}f`wa6fNt(xEJIK+J16^`PQ-%z^RCw&=(ZF%U8EuQ9;C-58>%hFnx`{eGQ_ z=LX^E=qKFK89Q+@uEn)(ZQa^rbt|;PYLK!0RX$o`%yXK$?JT>bp4XEzjE1&Li7yh| zB7u;#J1#AO8_9n)~^p>&+b{y1GyGobJ{8`Um=weW_Gx z@XXNJ!E=LoeZa8`TP2^bbcT7%&v;d`TJqhZRj~^$E#*S;Ahg^alGpox30)+`dk3ba z?Fz&s4-BH*O`i}d>dkL#1SHJ0=qq`>Hz@eb^A=d(hAyKkYXR^)7n1TE-C!_d4LF{! za96NQ`~a{mC%0nzzD-Lcv%T)w4)Nw`hJ_(3=iCCLa^=0EEDRTX!b_&7zDX9-=4?Y~ zY4f7A=qN1}gc8Z7rVyv!5UDOvyG#;kb3qOhaBB>sX>=Pcqb;<99-}AdIeLZOqtECo z`hnwE#~1K09>+KE6uyP$@LgQMo7ly^EYQ*Xk*W4pBx>1O_c2;?wA6@! zh=HSFfS(TrG>)dihD336KqsC6fH5!&0bS<`prO!I*pLVw5G+#xWhz!r3@p>ZZm2j@ zVMC%!M_4^Ru$mdG7YY`$Lw!SpBWy~H`iOyufx`@R%AwBh|5^Bk|M31loD_{B1|kOj zD+X{ZYh^RAC3Uy9ZI0iy2DJOoxbV1!M3DlWx{igyui_zSLcnKm1<+L3kO&r#=#PM) LA?hLqj+B9)spaSP literal 0 HcmV?d00001 diff --git a/nvim/.config/nvim/.DS_Store b/nvim/.config/nvim/.DS_Store index 8d75cfbd9c5c76eb4ff2b851a8c0544ae407b1cb..952a19e31ea87f79787a88a9ebe0f47c6caf4001 100644 GIT binary patch delta 131 zcmZoMXfc=|#>CJ*F;Q%yo+2a5!~knXmdQL!5;kfp85kIt8FCnk847aqU0jlK@{@of z9ER$$nhN`lJ0i=bpvg{7V3J}C*sRF>jAgR{vl`Q8b`E|Hpe;a=@640=MGP4kCfo2x KZ;laJ!3+Qdcpp*# delta 293 zcmZoMXfc=|#>B)qF;Q%yo+2a1!~pBf0*noeKvs{04c8k61_ow^9EM_sg4}!;m!zEh zB%laK%)P}tU#A>*M3zlKlb!fLs$K!8fPn+3JC7lgp#TU|8A=$6bJ7iilk;;6K$1XE z1jHC>kZm)60=Er|I)uF#>ZFh?EyzH&RA4hB;}@3A>>T_YK+gj?-(p0^QO8 P#6TLvWY`=avV|D{M!iPq diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua index 7ac178a..e34c841 100644 --- a/nvim/.config/nvim/init.lua +++ b/nvim/.config/nvim/init.lua @@ -1,121 +1,3 @@ -vim.pack.add({ - { src = "https://github.com/rose-pine/neovim", name = "rose-pine" }, - { src = "https://github.com/brenoprata10/nvim-highlight-colors" }, - { src = "https://github.com/mbbill/undotree" }, - { src = "https://github.com/nvim-mini/mini.pairs", version = vim.version.range('*') }, - { src = "https://github.com/nvim-tree/nvim-web-devicons" }, - { src = "https://github.com/ibhagwan/fzf-lua" }, - { src = "https://github.com/saghen/blink.cmp", version = vim.version.range('*'), }, - { src = "git@moo:dmm/polydev.git" }, - { src = "https://github.com/nvim-treesitter/nvim-treesitter", build = ":TSUpdate" }, - { src = "https://github.com/alexghergh/nvim-tmux-navigation" }, - { src = "https://github.com/mason-org/mason.nvim" }, - { src = "https://github.com/mason-org/mason-lspconfig.nvim" }, - { src = "https://github.com/neovim/nvim-lspconfig" }, - { src = "https://github.com/stevearc/conform.nvim" }, -}) - ---- Configurations - -require("mason").setup() -require("mason-lspconfig").setup({ - ensure_installed = { "ts_ls", "lua_ls", "ts_ls" }, - automatic_enable = true, -}) -require 'nvim-tmux-navigation'.setup { - disable_when_zoomed = true -- defaults to false -} -require('nvim-treesitter').install { 'rust', 'c', 'cpp', 'lua', 'javascript' } -vim.api.nvim_create_autocmd('FileType', { - pattern = { 'c', 'cpp', 'rust', 'lua', 'javascript' }, - callback = function() - vim.treesitter.start() - vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" - end, -}) -require("conform").setup({ - formatters_by_ft = { - rust = { "rustfmt", lsp_format = "fallback" }, - lua = { "emmylua-codeformat", lsp_format = "fallback" }, - javascript = { "ts_ls", stop_after_first = true }, - ["_"] = { "trim_whitespace" }, - }, - format_on_save = { - timeout_ms = 500, - lsp_format = "fallback", - }, -}) - -require('nvim-highlight-colors').turnOn() -require("Polydev").setup({ - -- terminal = { - -- mode = "split", - -- win = { - -- type = "vertical", - -- anchor = "right", - -- -- size = "20" - -- }, - -- - -- }, -}) -require("blink.cmp").setup({ - completion = { - menu = { - draw = { - columns = { { "label", gap = 1 }, { "kind_icon", gap = 1, "kind" } }, - } - } - } -}) -require('mini.pairs').setup() -require("fzf-lua").setup({ - "border-fused", - previewers = { - builtin = { - syntax_limit_b = -51200, -- 50KB limit on highlighting files - }, - }, - winopts = { - height = 0.50, - width = 0.45, - row = 0.35, - col = 0.50, - border = "rounded", - backdrop = 0, - fullscreen = false, - preview = { - hidden = true, - }, - }, - grep = { - rg_glob = true, - rg_glob_fn = function(query) - local regex, flags = query:match("^(.-)%s%-%-(.*)$") - return (regex or query), flags - end, - }, - defaults = { - formatter = "path.filename_first", - }, -}) - ---- LSP - -local capabilities = require('blink.cmp').get_lsp_capabilities() -vim.lsp.config("lua_ls", { - capabilities = capabilities, - settings = { - Lua = { - diagnostics = { globals = { "vim" } }, - workspace = { - library = vim.api.nvim_get_runtime_file("", true), - checkThirdParty = false, - }, - }, - }, -}) -vim.lsp.enable({ "lua_ls", "clangd", "rust-analyzer", "ts_ls" }) - --- Options vim.opt.termguicolors = true @@ -131,7 +13,7 @@ vim.opt.wrap = false vim.opt.swapfile = false vim.opt.signcolumn = "yes" vim.opt.undofile = true -- Keeps undo history even after we close a file -vim.opt.scrolloff = 8 +vim.opt.scrolloff = 4 vim.opt.sidescrolloff = 8 vim.opt.hlsearch = false vim.opt.completeopt = { "menuone", "noselect", "popup" } @@ -151,6 +33,47 @@ vim.opt.smartcase = true -- However if we use a capital in search string we t vim.opt.smartindent = false -- smarter indentation vim.opt.smarttab = true -- make tab behaviour smarter vim.opt.laststatus = 3 +vim.opt.showmode = false +vim.opt.cmdheight = 0 +vim.opt.smoothscroll = true +vim.diagnostic.config({ + virtual_text = true, -- This is the magic line + signs = true, -- Shows icons in the gutter + underline = true, + update_in_insert = false, -- Don't clutter the screen while typing + severity_sort = true, +}) + +vim.pack.add({ + { src = "https://github.com/rose-pine/neovim", name = "rose-pine" }, + { src = "https://github.com/brenoprata10/nvim-highlight-colors" }, + { src = "https://github.com/mbbill/undotree" }, + { src = "https://github.com/nvim-mini/mini.pairs", version = vim.version.range('*') }, + { src = "https://github.com/nvim-tree/nvim-web-devicons" }, + { src = "https://github.com/ibhagwan/fzf-lua" }, + { src = "https://github.com/saghen/blink.cmp", version = vim.version.range('*'), }, + { src = "git@moo:dmm/polydev.git" }, + { src = "https://github.com/nvim-treesitter/nvim-treesitter", build = ":TSUpdate" }, + { src = "https://github.com/alexghergh/nvim-tmux-navigation" }, + { src = "https://github.com/mason-org/mason.nvim" }, + { src = "https://github.com/mason-org/mason-lspconfig.nvim" }, + { src = "https://github.com/neovim/nvim-lspconfig" }, + { src = "https://github.com/stevearc/conform.nvim" }, + { src = "https://github.com/b0o/incline.nvim" }, + { src = "https://github.com/windwp/nvim-ts-autotag" }, + { src = "https://github.com/folke/which-key.nvim" }, + + --- XCode Plugins + { src = "https://github.com/MunifTanjim/nui.nvim" }, + { src = "https://github.com/mfussenegger/nvim-dap" }, + { src = "https://github.com/rcarriga/nvim-dap-ui" }, + { src = "https://github.com/nvim-lualine/lualine.nvim" }, + { src = "https://github.com/nvim-neo-tree/neo-tree.nvim" }, + { src = "https://github.com/wojciech-kulik/xcodebuild.nvim" }, + { src = "https://github.com/nvim-lua/plenary.nvim" }, + { src = "https://github.com/folke/noice.nvim" }, + { src = "https://github.com/folke/snacks.nvim" }, +}) --- COLORS @@ -167,11 +90,234 @@ vim.api.nvim_set_hl(0, "LineNr", { link = 'Normal' }) vim.api.nvim_set_hl(0, "FoldColumn", { link = 'Normal' }) vim.api.nvim_set_hl(0, "CursorLineNr", { bg = "none", link = 'MatchParen', bold = true }) + +local function xcodebuild_device() + if not vim.g.xcodebuild_platform then return " macOS" end + + if vim.g.xcodebuild_platform == "macOS" then + return " macOS" + end + + local deviceIcon = "" + if vim.g.xcodebuild_platform:match("watch") then + deviceIcon = "􀟤" + elseif vim.g.xcodebuild_platform:match("tv") then + deviceIcon = "􀡴 " + elseif vim.g.xcodebuild_platform:match("vision") then + deviceIcon = "􁎖 " + end + + if vim.g.xcodebuild_os then + return deviceIcon .. " " .. vim.g.xcodebuild_device_name .. " (" .. vim.g.xcodebuild_os .. ")" + end + + return deviceIcon .. " " .. (vim.g.xcodebuild_device_name or "Unknown") +end + +require('lualine').setup({ + options = { + theme = 'auto', -- Or try 'catppuccin' if you use it + component_separators = '|', + section_separators = { left = '', right = '' }, + globalstatus = true, -- Crucial for clean look with cmdheight=0 + }, + sections = { + lualine_a = { { 'mode', separator = { left = '' }, right_padding = 2 } }, + lualine_b = { 'filename', 'branch' }, + lualine_c = { 'diff', 'diagnostics' }, + lualine_x = { + { + function() return ' ' .. (vim.g.xcodebuild_last_status or "Idle") end, + color = { fg = "Gray" } + }, + { + function() return '󰙨 ' .. (vim.g.xcodebuild_test_plan or "No Plan") end, + color = { fg = "#a6e3a1" } + }, + { + xcodebuild_device, + color = { fg = "#f9e2af" } + }, + }, + lualine_y = { 'filetype', 'progress' }, + lualine_z = { { 'location', separator = { right = '' }, left_padding = 2 } }, + }, +}) +require("snacks").setup({ + image = { enabled = true }, +}) +require('which-key').setup({ + preset = "helix" +}) +vim.schedule(function() + -- Mason & LSP + require("mason").setup() + require("mason-lspconfig").setup({ + ensure_installed = { "vtsls", "lua_ls", "pylsp", "gopls", "html", "tailwindcss", "bashls", }, + automatic_enable = true, + }) + + -- Noice & Xcodebuild + require("xcodebuild").setup() + require("noice").setup({ + lsp = { + -- override markdown rendering so that **cmp** and other plugins use **Treesitter** + override = { + ["vim.lsp.util.convert_input_to_markdown_lines"] = true, + ["vim.lsp.util.stylize_markdown"] = true, + ["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp + }, + }, + presets = { + bottom_search = true, -- use a classic bottom cmdline for search + command_palette = true, -- position the cmdline and popupmenu together + long_message_to_split = true, -- long messages will be sent to a split + inc_rename = false, -- enables an input dialog for inc-rename.nvim + lsp_doc_border = false, -- add a border to hover docs and signature help + }, + }) + + -- Blink & Fzf + require("blink.cmp").setup({ + completion = { + menu = { + draw = { + columns = { { "label", gap = 1 }, { "kind_icon", gap = 1, "kind" } }, + } + } + } + }) + require("fzf-lua").setup({ + winopts = { + height = 0.50, + width = 0.45, + -- row = 0.35, + -- col = 0.50, + border = "rounded", + -- backdrop = 100, + -- fullscreen = false, + preview = { + hidden = true, + }, + }, + grep = { + rg_glob = true, + rg_glob_fn = function(query) + local regex, flags = query:match("^(.-)%s%-%-(.*)$") + return (regex or query), flags + end, + }, + defaults = { + formatter = "path.filename_first", + }, + }) + + -- Treesitter + require('nvim-treesitter').install { 'swift', 'rust', 'c', 'cpp', 'lua', 'javascript', 'go', 'typescript', 'css', 'html', 'python' } + vim.api.nvim_create_autocmd('FileType', { + pattern = { 'c', 'cpp', 'rust', 'lua', 'typescript', 'javascript', 'css', 'html', 'python', 'go', 'swift' }, + callback = function() + vim.treesitter.start() + vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" + end, + }) +end) + +--- Configurations +local helpers = require 'incline.helpers' +local devicons = require 'nvim-web-devicons' +require('incline').setup { + window = { + padding = 0, + margin = { horizontal = 0 }, + }, + render = function(props) + local filename = vim.fn.fnamemodify(vim.api.nvim_buf_get_name(props.buf), ':t') + if filename == '' then + filename = '[No Name]' + end + local ft_icon, ft_color = devicons.get_icon_color(filename) + local modified = vim.bo[props.buf].modified + return { + ft_icon and { ' ', ft_icon, ' ', guibg = ft_color, guifg = helpers.contrast_color(ft_color) } or + '', + ' ', + { filename, gui = modified and 'bold,italic' or 'bold' }, + ' ', + guibg = '#44406e', + } + end, +} +require 'nvim-tmux-navigation'.setup { + disable_when_zoomed = true -- defaults to false +} +require("conform").setup({ + formatters_by_ft = { + rust = { "rustfmt", lsp_format = "fallback" }, + lua = { "emmylua-codeformat", lsp_format = "fallback" }, + javascript = { "prettier", stop_after_first = true }, + typescript = { "prettier", stop_after_first = true }, + json = { "prettier" }, + html = { "prettier" }, + go = { "goimports" }, + c = { "lsp" }, + cpp = { "lsp" }, + ["_"] = { "trim_whitespace" }, + }, + format_on_save = { + timeout_ms = 500, + lsp_format = "fallback", + }, +}) + +require('nvim-ts-autotag').setup({ + opts = { + enable_close = true, -- Auto close tags + enable_rename = true, -- Auto rename pairs of tags + enable_close_on_slash = false -- Auto close on trailing +1gv=gv") vim.keymap.set("v", "K", ":m '<-2gv=gv") vim.keymap.set("n", "ff", vim.lsp.buf.format) +-- vim.keymap.set("n", "ff", function() +-- require("conform").format({ async = true, lsp_format = "never" }) +-- end) vim.keymap.set("n", "vs", ":vsplit") vim.keymap.set("n", "ss", ":split") vim.keymap.set("n", "E", ":Ex") @@ -201,3 +347,30 @@ vim.keymap.set("n", "", ":NvimTmuxNavigateLeft", { silent = true }) vim.keymap.set("n", "", ":NvimTmuxNavigateDown", { silent = true }) vim.keymap.set("n", "", ":NvimTmuxNavigateUp", { silent = true }) vim.keymap.set("n", "", ":NvimTmuxNavigateRight", { silent = true }) +vim.keymap.set("n", "nn", ":Neotree toggle") +vim.keymap.set("n", "X", "XcodebuildPicker", { desc = "Show Xcodebuild Actions" }) +vim.keymap.set("n", "xf", "XcodebuildProjectManager", { desc = "Show Project Manager Actions" }) + +vim.keymap.set("n", "xb", "XcodebuildBuild", { desc = "Build Project" }) +vim.keymap.set("n", "xB", "XcodebuildBuildForTesting", { desc = "Build For Testing" }) +vim.keymap.set("n", "xr", "XcodebuildBuildRun", { desc = "Build & Run Project" }) + +vim.keymap.set("n", "xt", "XcodebuildTest", { desc = "Run Tests" }) +vim.keymap.set("v", "xt", "XcodebuildTestSelected", { desc = "Run Selected Tests" }) +vim.keymap.set("n", "xT", "XcodebuildTestClass", { desc = "Run Current Test Class" }) +vim.keymap.set("n", "x.", "XcodebuildTestRepeat", { desc = "Repeat Last Test Run" }) + +vim.keymap.set("n", "xl", "XcodebuildToggleLogs", { desc = "Toggle Xcodebuild Logs" }) +vim.keymap.set("n", "xc", "XcodebuildToggleCodeCoverage", { desc = "Toggle Code Coverage" }) +vim.keymap.set("n", "xC", "XcodebuildShowCodeCoverageReport", { desc = "Show Code Coverage Report" }) +vim.keymap.set("n", "xe", "XcodebuildTestExplorerToggle", { desc = "Toggle Test Explorer" }) +vim.keymap.set("n", "xs", "XcodebuildFailingSnapshots", { desc = "Show Failing Snapshots" }) + +vim.keymap.set("n", "xp", "XcodebuildPreviewGenerateAndShow", { desc = "Generate Preview" }) +vim.keymap.set("n", "x", "XcodebuildPreviewToggle", { desc = "Toggle Preview" }) + +vim.keymap.set("n", "xd", "XcodebuildSelectDevice", { desc = "Select Device" }) +vim.keymap.set("n", "xq", "Telescope quickfix", { desc = "Show QuickFix List" }) + +vim.keymap.set("n", "xx", "XcodebuildQuickfixLine", { desc = "Quickfix Line" }) +vim.keymap.set("n", "xa", "XcodebuildCodeActions", { desc = "Show Code Actions" }) diff --git a/nvim/.config/nvim/nvim-pack-lock.json b/nvim/.config/nvim/nvim-pack-lock.json index 91127fe..d4bec79 100644 --- a/nvim/.config/nvim/nvim-pack-lock.json +++ b/nvim/.config/nvim/nvim-pack-lock.json @@ -1,7 +1,7 @@ { "plugins": { "blink.cmp": { - "rev": "451168851e8e2466bc97ee3e026c3dcb9141ce07", + "rev": "78336bc89ee5365633bcf754d93df01678b5c08f", "src": "https://github.com/saghen/blink.cmp", "version": ">=0.0.0" }, @@ -10,19 +10,31 @@ "src": "https://github.com/norcalli/nvim-colorizer.lua" }, "conform.nvim": { - "rev": "086a40dc7ed8242c03be9f47fbcee68699cc2395", + "rev": "dca1a190aa85f9065979ef35802fb77131911106", "src": "https://github.com/stevearc/conform.nvim" }, "fzf-lua": { - "rev": "bde73a6886b607246095aa59f396de5e0d036890", + "rev": "17e3507b788699776ba6d2f8dd101ec177f37a96", "src": "https://github.com/ibhagwan/fzf-lua" }, + "incline.nvim": { + "rev": "8b54c59bcb23366645ae10edca6edfb9d3a0853e", + "src": "https://github.com/b0o/incline.nvim" + }, + "lackluster.nvim": { + "rev": "70dd682e564784893b984deb51dd5ddd263c8cc7", + "src": "https://github.com/slugbyte/lackluster.nvim" + }, + "lualine.nvim": { + "rev": "131a558e13f9f28b15cd235557150ccb23f89286", + "src": "https://github.com/nvim-lualine/lualine.nvim" + }, "mason-lspconfig.nvim": { - "rev": "38499e0bda64bc0f3ec6e7f03f8e13dd11c0fa00", + "rev": "0c2823e0418f3d9230ff8b201c976e84de1cb401", "src": "https://github.com/mason-org/mason-lspconfig.nvim" }, "mason.nvim": { - "rev": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65", + "rev": "cb8445f8ce85d957416c106b780efd51c6298f89", "src": "https://github.com/mason-org/mason.nvim" }, "mini.pairs": { @@ -30,16 +42,44 @@ "src": "https://github.com/nvim-mini/mini.pairs", "version": ">=0.0.0" }, + "muted.nvim": { + "rev": "6967424df29fecf248f58a5a597b9ec94cc8b36a", + "src": "https://github.com/pisgahk/muted.nvim" + }, + "neo-tree.nvim": { + "rev": "ff84e6e1608b24773f1b73cd4182e0bcf2b3d637", + "src": "https://github.com/nvim-neo-tree/neo-tree.nvim" + }, + "neogen": { + "rev": "23e7e9f883d01289ebd90e98025acc860ea26366", + "src": "https://github.com/danymat/neogen" + }, + "noice.nvim": { + "rev": "7bfd942445fb63089b59f97ca487d605e715f155", + "src": "https://github.com/folke/noice.nvim" + }, + "nui.nvim": { + "rev": "de740991c12411b663994b2860f1a4fd0937c130", + "src": "https://github.com/MunifTanjim/nui.nvim" + }, "nvim-colorizer.lua": { "rev": "a065833f35a3a7cc3ef137ac88b5381da2ba302e", "src": "https://github.com/norcalli/nvim-colorizer.lua" }, + "nvim-dap": { + "rev": "45a69eba683a2c448dd9ecfc4de89511f0646b5f", + "src": "https://github.com/mfussenegger/nvim-dap" + }, + "nvim-dap-ui": { + "rev": "1a66cabaa4a4da0be107d5eda6d57242f0fe7e49", + "src": "https://github.com/rcarriga/nvim-dap-ui" + }, "nvim-highlight-colors": { - "rev": "e2cb22089cc2358b2b995c09578224f142de6039", + "rev": "e4c7af0211866162d999ce0bdd6a029302e19139", "src": "https://github.com/brenoprata10/nvim-highlight-colors" }, "nvim-lspconfig": { - "rev": "8e2084bf5e40c79c1f42210a6ef96a0a4793a763", + "rev": "31026a13eefb20681124706a79fc1df6bf11ab27", "src": "https://github.com/neovim/nvim-lspconfig" }, "nvim-tmux-navigation": { @@ -47,24 +87,44 @@ "src": "https://github.com/alexghergh/nvim-tmux-navigation" }, "nvim-treesitter": { - "rev": "7caec274fd19c12b55902a5b795100d21531391f", + "rev": "4916d6592ede8c07973490d9322f187e07dfefac", "src": "https://github.com/nvim-treesitter/nvim-treesitter" }, + "nvim-ts-autotag": { + "rev": "88c1453db4ba7dd24131086fe51fdf74e587d275", + "src": "https://github.com/windwp/nvim-ts-autotag" + }, "nvim-web-devicons": { - "rev": "d7462543c9e366c0d196c7f67a945eaaf5d99414", + "rev": "4fc505ac7bd7692824a142e96e5f529c133862f8", "src": "https://github.com/nvim-tree/nvim-web-devicons" }, + "plenary.nvim": { + "rev": "74b06c6c75e4eeb3108ec01852001636d85a932b", + "src": "https://github.com/nvim-lua/plenary.nvim" + }, "polydev": { "rev": "8d41141e9ab68c271bb8bb2db5528bb0a61c78eb", "src": "git@moo:dmm/polydev.git" }, "rose-pine": { - "rev": "cf2a288696b03d0934da713d66c6d71557b5c997", + "rev": "6a961effd67f6130d36df6d1c05c48c739796dd2", "src": "https://github.com/rose-pine/neovim" }, + "snacks.nvim": { + "rev": "ad9ede6a9cddf16cedbd31b8932d6dcdee9b716e", + "src": "https://github.com/folke/snacks.nvim" + }, "undotree": { "rev": "6fa6b57cda8459e1e4b2ca34df702f55242f4e4d", "src": "https://github.com/mbbill/undotree" + }, + "which-key.nvim": { + "rev": "3aab2147e74890957785941f0c1ad87d0a44c15a", + "src": "https://github.com/folke/which-key.nvim" + }, + "xcodebuild.nvim": { + "rev": "59ee76b947cfd680b0354f3318aec2cab71a18db", + "src": "https://github.com/wojciech-kulik/xcodebuild.nvim" } } } diff --git a/ssh/.ssh/config b/ssh/.ssh/config index 51c52bb..0923e51 100644 --- a/ssh/.ssh/config +++ b/ssh/.ssh/config @@ -9,7 +9,7 @@ Host moo IdentityFile ~/.ssh/id_ed25519 # Path to your private key Host oasis - HostName 100.90.3.48 + HostName 100.111.101.97 User oasis Port 2222 IdentityFile ~/.ssh/id_ed25519 diff --git a/zshrc/.zshrc b/zshrc/.zshrc index e51983c..d64fea8 100644 --- a/zshrc/.zshrc +++ b/zshrc/.zshrc @@ -55,3 +55,10 @@ else fi ### End of Zinit's installer chunk + +# bun completions +[ -s "/Users/andrew/.bun/_bun" ] && source "/Users/andrew/.bun/_bun" + +# bun +export BUN_INSTALL="$HOME/.bun" +export PATH="$BUN_INSTALL/bin:$PATH"