Compare commits

...

174 Commits

Author SHA1 Message Date
036a55effc goose 2025-06-17 21:38:27 +00:00
8345f91cc8 avante 2025-06-17 21:35:41 +00:00
b5e0e2ebf5 idk 2025-06-17 21:33:39 +00:00
1f30ce43c7 google 2025-06-17 21:33:39 +00:00
edf9ae6ada fix conform 2025-06-14 16:30:55 -05:00
28ac8a99b9 fix fzf 2025-05-25 22:37:48 -05:00
8b3bd23fa6 honesly who knows 2025-05-06 18:16:43 +00:00
e4efa6b209 avante 2025-04-11 09:39:33 -05:00
e588888143 bs blink/cmp 2025-04-01 19:08:23 +00:00
d261f8b3bd fix hg revision 2025-04-01 18:36:44 +00:00
5f814e7560 update 2025-03-25 16:04:57 -05:00
f9a40408aa flash 2025-03-21 19:08:30 -05:00
a6eee81db6 fix format 2025-03-17 15:51:27 -05:00
a9a196baf1 wow rookie mistake 2025-03-17 19:39:18 +00:00
2907bda8d3 more git 2025-03-17 19:31:37 +00:00
348b966c1a bigfile 2025-03-17 19:31:37 +00:00
736ba50a7a signify bug 2025-03-17 19:31:37 +00:00
758afadb6f signify cmds for git 2025-03-17 19:31:37 +00:00
4c5bd3505f stuff 2025-03-16 18:04:13 -05:00
76686a0e87 godot and telescope ripgrep 2025-03-16 16:41:20 -05:00
f595b1fcfa wayland clipboard support 2025-03-07 13:55:29 -06:00
8dc9131c46 uhhhh 2025-03-05 22:07:33 -06:00
27f00e77e6 clean stuff 2025-03-04 15:50:32 -06:00
d56eb258cd hg alias 2025-03-04 19:04:44 +00:00
a1880dcdad ugh 2025-03-04 19:03:57 +00:00
e242d6eb56 recursive config load 2025-03-01 08:55:10 -06:00
3554761a0c fix lsp 2025-03-01 08:21:09 -06:00
3b3f3c05bd gitconfig 2025-02-25 19:55:02 -06:00
8643bd99f3 signify 2025-02-23 14:49:29 -06:00
9d5f671e4f rm godot lsp 2025-02-20 15:10:42 +00:00
52dbbb30fd blip 2025-02-20 15:07:28 +00:00
ee8d429c66 fix lsp 2025-02-20 14:54:42 +00:00
a079ad36cc rm harpoon 2025-02-20 14:49:29 +00:00
e53d35ed17 stuff 2025-02-20 14:48:34 +00:00
55b8aab06a separator 2025-02-20 02:59:34 -06:00
2e945be118 stuff and things 2025-02-20 00:40:59 -06:00
4d94c9cad7 format RON files 2025-02-11 12:53:27 -06:00
53fdcbb4dc lock 2025-02-10 22:59:53 -06:00
6e33c078e5 format json command 2025-02-10 22:58:09 -06:00
c04a169229 conform 2025-02-05 19:01:25 +00:00
e0daf87594 stuff 2025-02-05 18:20:41 +00:00
270934d29c speedup hg with chg 2025-02-05 18:12:43 +00:00
053eeb07fd googlepaths 2025-02-05 18:01:16 +00:00
8b8046878f bufferline 2025-02-05 17:20:48 +00:00
196c9d1a3b simplify google 2025-02-04 23:09:40 +00:00
9988bd13b2 things 2025-01-29 21:55:07 -06:00
0300264961 neotree bindings 2025-01-29 21:27:12 -06:00
1bbcef640d who knows 2025-01-27 20:49:29 +00:00
5e739703d0 format 2025-01-27 20:44:12 +00:00
d0b81f87cb plz 2025-01-24 19:10:02 +00:00
f815679d89 blink stuff 2025-01-11 20:36:39 -06:00
513dfe695f i dont even know 2025-01-11 20:13:19 -06:00
c869fbd48a bug 2025-01-06 19:23:04 +00:00
6f857496c0 google 2025-01-06 19:01:42 +00:00
3ea53a113f idk 2024-12-25 20:12:28 -07:00
fe2fed17ed whhops 2024-12-20 17:41:22 +00:00
3ae68d6e0b dev config 2024-12-19 23:29:04 +00:00
7942d2083c boop 2024-12-19 23:24:13 +00:00
664c555107 plugs 2024-12-16 14:42:15 +00:00
9ceca10f72 lol 2024-12-16 14:23:17 +00:00
b016ad5d56 meh 2024-12-15 14:23:36 -06:00
d06b8c1693 custom colors 2024-12-15 13:17:36 -06:00
aefb0f1815 global gitignore 2024-12-15 12:43:08 -06:00
bcc9f32bdb ah 2024-12-14 08:11:37 -06:00
1fe1ca6c71 bip 2024-12-14 08:10:44 -06:00
afbe9737b7 blink experiment 2024-12-14 07:55:36 -06:00
22e5f66830 tabstop 2024-12-14 06:17:08 -06:00
7206fae3b7 tmpl 2024-12-12 17:26:43 +00:00
07c24bdafd whatver 2024-12-12 17:16:43 +00:00
42ec292e7c whatever 2024-12-12 17:16:43 +00:00
20381a149d cleanup telescope 2024-12-12 17:16:43 +00:00
38f84a6dd9 fix autoformat 2024-12-12 17:16:42 +00:00
ce6295b69a cleanup 2024-12-12 17:16:42 +00:00
3d4f13be75 Disable matchup 2024-12-11 12:55:22 -06:00
d29d3be651 comments 2024-12-11 17:18:51 +00:00
b3f51ae147 faster save 2024-12-11 17:12:57 +00:00
1349bf971b abbr 2024-12-09 17:10:08 +00:00
47cead8c63 abbr 2024-12-09 17:10:08 +00:00
3c1d572ce7 snip 2024-12-08 01:47:01 -06:00
29bb1af1e0 rust formatter 2024-12-07 21:30:03 -06:00
3cf440ec45 themes 2024-12-07 20:51:47 -06:00
83c9f57328 fix session handling 2024-12-07 20:39:26 -06:00
6f86454397 move init.lua 2024-12-07 20:33:21 -06:00
a76bbde00c alacritty is so dang snappy! 2024-12-04 13:59:56 -06:00
111e7dfe23 rust change 2024-12-01 12:10:22 -06:00
c263826a50 fasdfasdfasdfasdfasdf 2024-11-26 21:54:02 +00:00
7e76e91f8b arghhahghggh 2024-11-26 21:52:02 +00:00
0693f6618d zsh abbreviations 2024-11-26 21:50:44 +00:00
d2c2bd908b zsh abbreviations 2024-11-26 21:42:37 +00:00
03c791b8d6 fix lightbulb 2024-11-26 17:28:03 +00:00
b296094f42 derp 2024-11-25 19:27:56 +00:00
33e88f60ba fix 2024-11-25 19:19:53 +00:00
22d681a3d2 bigfile 2024-11-25 19:19:16 +00:00
6bdd165942 sync 2024-10-28 19:59:55 +00:00
dc1332f024 bump 2024-10-22 21:11:36 +00:00
50761bc157 tabdrop 2024-10-21 22:33:08 +00:00
f237b861fc ughghghghghghghg 2024-10-14 17:55:51 +00:00
f0b4b89b9b ughghghghghghghg 2024-10-14 16:48:07 +00:00
7744a799f0 blep 2024-10-04 18:21:31 +00:00
0f5151bcc2 locl 2024-09-21 11:59:29 -05:00
859c175d5a fix lsplines 2024-09-21 11:58:47 -05:00
b05f7b15be style ignore and plugs 2024-09-11 20:47:10 +00:00
d632924ca7 Open *.srcjar as zip 2024-08-21 16:11:25 +00:00
1dfaac5950 fix 2024-08-14 08:46:54 +00:00
a6086451c8 beep 2024-08-13 07:20:48 +00:00
0202fcc32c boop 2024-08-13 06:27:11 +00:00
82411e7b77 hlchunk.nvim 2024-08-13 06:12:36 +00:00
81cc999670 fun stuff 2024-08-01 00:41:52 +00:00
c5ff1347fe Floats 2024-07-24 17:04:40 +00:00
c698b10503 Fix telescope closing 2024-07-24 16:55:03 +00:00
9b0360a291 bleh 2024-07-08 18:48:13 +00:00
47b94a3bc4 Neotree mappings 2024-07-08 16:31:26 +00:00
07e5fe880f fix rust 2024-07-08 00:01:40 -05:00
4a80441b38 custom neotree plugin 2024-07-05 23:11:36 +00:00
1c5740014f auto load session 2024-07-05 21:39:13 +00:00
f9acecd558 Neotree fig 2024-07-05 21:10:23 +00:00
31b1510b06 mini icons and stuff 2024-07-04 06:55:10 -05:00
b4bd109458 BREADCRUMBSSSSS 2024-07-03 18:06:23 +00:00
0d333a2116 neotree 2024-07-03 17:20:51 +00:00
fe48c126db Stuffffff 2024-07-03 16:59:49 +00:00
e4dfbb859d googlepaths and telescope keymaps 2024-07-02 21:36:16 +00:00
abea67f918 sort telescope results 2024-06-18 08:11:30 +00:00
df2e294c26 Fix search bug 2024-06-03 18:21:03 +00:00
c233e7b78d Add searching for Fig files 2024-06-03 18:19:12 +00:00
6e639bf24a performance stuff 2024-05-29 18:39:20 +00:00
d3a6c45a98 fix hgshort disable poushd 2024-05-08 18:03:10 +00:00
8a4fdc0e0b uh 2024-05-08 15:49:55 +00:00
822daa2ff0 fix offset encoding 2024-05-02 18:19:56 +00:00
28070c2640 uh 2024-05-02 16:22:25 +00:00
0aef98bb0a boop cache 2024-05-02 16:18:14 +00:00
5840cc2b2d min severity 2024-05-01 16:54:49 +00:00
1fb4a36781 harpoon and stuff 2024-04-22 22:39:05 +00:00
934a73ec88 stuff 2024-03-22 19:58:22 +00:00
f0950d47bd bump 2024-03-22 17:32:31 +00:00
7af5f17c9b lsp and dap fixes 2024-03-20 20:57:57 +00:00
14a4da6b6c fix DAP config 2024-03-12 23:04:32 +00:00
26a5f90ee5 meh 2024-03-12 23:03:57 +00:00
d2e6748eeb stuff 2024-03-10 05:23:23 -05:00
27955c4f97 stuff 2024-02-10 22:52:11 -06:00
e4926e135c organize 2024-02-10 22:51:26 -06:00
a865a14bb7 ugh catpuccin 2024-02-06 14:24:23 +00:00
bfd786f261 ugh catpuccin 2024-02-06 14:20:10 +00:00
51b5fe4008 neotree fix 2024-02-01 02:37:51 +00:00
bd7b27cd71 neotree fix 2024-02-01 02:32:13 +00:00
1b8244ea28 goog 2024-01-31 17:08:22 +00:00
d4c557acf9 uh 2024-01-30 21:32:18 +00:00
90033636e5 dap and nerdtree fixes 2024-01-30 17:27:26 +00:00
16fb43e7a2 misc 2024-01-26 20:30:24 +00:00
ae0055a5db meh 2024-01-23 18:20:40 +00:00
9fe3e152c9 minor settings 2024-01-23 18:20:40 +00:00
ef6089dda9 organize lsp stuff 2024-01-20 01:54:29 -06:00
70ec22f3c6 fix 2024-01-19 22:59:32 +00:00
55546ec792 mapping for auto blaze query entire package 2024-01-19 22:55:08 +00:00
c18fd3f78a file yank update 2024-01-19 19:28:29 +00:00
518d7e48d7 blaze yank 2024-01-19 19:23:45 +00:00
b55efeec7f glug 2024-01-18 19:32:22 +00:00
2d1f84f463 eternally fighting with glug 2024-01-17 23:52:51 +00:00
00be311d98 root_dir 2024-01-17 17:09:05 +00:00
92ea9df483 actions preview 2024-01-16 22:14:46 -06:00
a91b231e04 actions preview 2024-01-16 22:14:46 -06:00
a37f9dab1c update plugs save 20ms on load wooooooo 2024-01-16 22:14:46 -06:00
c19d01dc21 fix google formatters 2024-01-16 22:43:27 +00:00
80b8c0e214 fix notify dep 2024-01-16 16:57:04 +00:00
3f48940604 lolidk 2024-01-12 20:52:34 -06:00
f1d6172101 dadadaddaaada 2024-01-12 20:22:49 -06:00
d415cebf88 reenable luals 2024-01-12 20:14:20 -06:00
3021fa292c more diag stuff 2024-01-12 01:37:20 -06:00
2e22f0fe46 diag 2024-01-12 01:30:13 -06:00
17be2aaebc diag 2024-01-12 01:28:20 -06:00
2de15ad9fc erf 2024-01-12 00:32:59 -06:00
d3f28cd1da better diagnostics 2024-01-12 00:25:29 -06:00
523ff3068d tmux update 2024-01-11 23:36:08 -06:00
44c0523801 test.lua 2024-01-11 23:09:38 -06:00
27d2ea5b33 Trying out lazygit 2024-01-11 18:56:51 -06:00
135 changed files with 40197 additions and 3398 deletions

49
alacritty/.alacritty.toml Normal file
View File

@ -0,0 +1,49 @@
[font]
size = 14
normal = { family = "CommitMono Nerd Font" }
[window]
option_as_alt = "OnlyLeft"
decorations = "None"
# moonfly theme for Alacritty
#
# Upstream: github.com/bluz71/vim-moonfly-colors
[colors]
draw_bold_text_with_bright_colors = true
# Default colors
[colors.primary]
background = '#1e2024'
foreground = '#a1a3a8'
# Normal colors
[colors.normal]
black = '#27272a'
blue = '#5e7fdd'
cyan = '#97c3fa'
green = '#90b99f'
magenta = '#e29eca'
red = '#d45d9e'
white = '#c9c7cd'
yellow = '#f0ea2d'
# Bright colors
[colors.bright]
black = '#353539'
blue = '#a7b3dd'
cyan = '#6de6fc'
green = '#a8fc8d'
magenta = '#eb4cce'
red = '#ca72de'
white = '#c9c7cd'
yellow = '#f7f48d'
[colors.cursor]
cursor = "#8e8e8e"
text = "#080808"
[colors.selection]
background = "#b2ceee"
text = "#080808"

View File

@ -0,0 +1,9 @@
<KeyPair>
<Properties>
<Provider Type="1" />
<Container Name="98f3a7e3-0d6e-f432-8a18-e1144b53633f" />
</Properties>
<KeyValue>
<RSAKeyValue><Modulus>l97jvAiPd88/KZ5NjMGFg+EaAC9rk50nPVJPlX+cGX6irHt+haXvMJ+b/Lh8JFtSw01cf+TJJwNmO0Hzdv0tF35CmXuOkeJAXVa0JNoGLaXxtdqO2ZxD8Lt8OYj/ueAX/zKiWmet3DP4gT1qTXn/mON+hFB6sZ2f2MLwadm7joCTPPsxZxAluxjk+XGajBFKRp3/u8CYRu5C98K7QUU0RwSBiccFUrUytqBz4Dsn8a1YakwcApmCl+sJF7RW6obf</Modulus><Exponent>AQAB</Exponent><P>sJS6yQDEMEdlmtWW8mPx7ZEEu/Zn8ahkJoAas7AToNNUaunZv+PpDS9K0dQO6sPOG/Dvwgm9AtHYrswUIRI0ts84PNvvt4yJfDXVUOFgnCuv6v71yhbxlRkbWGdBeyB3</P><Q>3C0NJwOEZ1yE8piwHm1n3fEaB5tRBYFyEZ309OjBPmbUiaq1Cx/lV2LzEFrQ0RSNpWhijBk8nObwzoBDi1gkFmen9i5STX5nHQiwUnuCZfhShxOvL/yMD7R8qZ/fRo7Z</Q><DP>hciZX7KR8ZYWV+HdVFX+tKP7t0Dv7bpL7pN+J4eOx3l1au80B9tv9YpQIHuOtbWWEbtQm21vY5SDm6OI2KmHgL2s+QcVLrZub8oFjRrEbG35AY0bwXnynKkB+893YAbv</DP><DQ>ctw5yUmHcBiO7rQC5My0a88UgjVfbhzaciBSItWtwi0I4Yyhh90q2oyvOq/10a0EO+8ZwfaEbWH46/FzyyS/JsUKlV4S54RyrG3U9iKioymJfBgjw0fflW3VvvO9GeT5</DQ><InverseQ>U0UtjaLfCsBcJcSLlZWX9Ziovt9iFjF8JnpN+lk2C8Uz4I4y62xMZmazEf5G/liEsL1SKNFdSWfRyZdzS7e6/tcNhc72bfSCldXRB2mrwfl2YRw3bVdSMoKUBqdpWVs6</InverseQ><D>KttNLLzFr6ueSWJQxA3AXaziJ3c6RleswRM/PhLavB8OTNo0pAZlbzU7UZ/F+ISE4HQuTDEFyqqc6M/9onBjjyOkK6fAXc6ZFz3mbBfScoNHqGfas/HzAjYGIj5U2+EutHDAUhFmfGiiZ1DmwrFcyI5X9Q5foPwXw+uDOUXVU1TtnSzJanvZEaPB90Bvc179gEIXJr26Dbl7ZGGQTGtOUBsFEnMGMh5/tcby8d5PWcFJr1iYDKG1N93xEYrlo7Th</D></RSAKeyValue>
</KeyValue>
</KeyPair>

View File

@ -0,0 +1,4 @@
<LocationServerMappings>
<ServerMapping location="https://app.vssps.visualstudio.com/" guid="a5ca35eb-148e-4ccd-bbb3-d31576d75958" owner="951917ac-a960-4999-8464-e3f0aa25b381" />
<ServerMapping location="https://api.vstsusers.visualstudio.com/" guid="2dba3f49-86e9-f22a-b81f-b604f401cfbe" owner="00000038-0000-8888-8000-000000000000" />
</LocationServerMappings>

View File

@ -0,0 +1,11 @@
[Filechooser Settings]
LocationMode=path-bar
ShowHidden=false
ShowSizeColumn=true
GeometryX=540
GeometryY=351
GeometryWidth=720
GeometryHeight=540
SortColumn=name
SortOrder=ascending
StartupMode=recent

View File

@ -0,0 +1,4 @@
set expandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4

View File

@ -3,4 +3,4 @@ set nowrap
set tabstop=4 set tabstop=4
set softtabstop=4 set softtabstop=4
set shiftwidth=4 set shiftwidth=4
set noexpandtab set expandtab

View File

@ -0,0 +1,7 @@
set tabstop=2
set shiftwidth=2
set softtabstop=2
set expandtab
set textwidth=80
set colorcolumn=80

View File

@ -0,0 +1,30 @@
vim.cmd("source " .. vim.env.HOME .. "/.vimrc")
vim.g.maplocalleader = ","
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
vim.opt.rtp:prepend(vim.env.HOME .. "/.vim")
local luahome = vim.env.HOME .. "/.vim/lua"
vim.opt.rtp:prepend(luahome)
package.path = package.path .. ";" .. vim.env.HOME .. "/.vim/lua/?.lua"
for _, file in ipairs(vim.fn.readdir(luahome .. "/config", [[v:val =~ '\.lua$']])) do
require("config" .. "." .. file:gsub("%.lua$", ""))
end
require("lazy").setup({
-- this entry tells lazy.nvim to load the list of of *.lua files from plugins/
import = "plugins",
})
vim.opt.undodir = vim.fn.expand("$HOME") .. "/.undo/"

View File

@ -1 +0,0 @@
source ~/.vimrc

View File

@ -1,121 +1,3 @@
{ {
"Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }
"LuaSnip": { "branch": "master", "commit": "82108e7e31cc6fc223cc5df5cae6d89f70bb199f" }, }
"aerial.nvim": { "branch": "master", "commit": "e2e3bc2df4490690ea005395eecdc8eeb30c4def" },
"ai.nvim": { "branch": "main", "commit": "ab6b6f54612500f48d4d34fcf81529946b9338f3" },
"asyncrun.vim": { "branch": "master", "commit": "61cc3081963a12048e00e89f8cedc8bd1cb83b8c" },
"auto-session": { "branch": "main", "commit": "51196ca66b38fc1660fdf50031cb0b31a199b7c9" },
"bufferline.nvim": { "branch": "main", "commit": "6c456b888823d9e4832aa91c482bccd19445c009" },
"catppuccin": { "branch": "main", "commit": "5e36ca599f4aa41bdd87fbf2c5aae4397ac55074" },
"ciderlsp-nvim": { "branch": "main", "commit": "00a86f96f4b8b9e94f0978c2db316447cc30a573" },
"clyde.vim": { "branch": "master", "commit": "368691fe856c09b0d064f34b35c856ddb196b391" },
"cmp-async-path": { "branch": "main", "commit": "d8229a93d7b71f22c66ca35ac9e6c6cd850ec61d" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-calc": { "branch": "main", "commit": "ce91d14d2e7a8b3f6ad86d85e34d41c1ae6268d9" },
"cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" },
"cmp-cmdline-history": { "branch": "master", "commit": "003573b72d4635ce636234a826fa8c4ba2895ffe" },
"cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" },
"cmp-nerdfont": { "branch": "main", "commit": "a3b7c0cadb7bd389f513eecda376d4c6bec90003" },
"cmp-nvim-ciderlsp": { "branch": "main", "commit": "e1b0015a0c090e20d1cbb34e5639e6dd145d3f3e" },
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
"cmp-nvim-lsp-document-symbol": { "branch": "main", "commit": "f0f53f704c08ea501f9d222b23491b0d354644b0" },
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "3d8912ebeb56e5ae08ef0906e3a54de1c66b92f1" },
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
"cmp-spell": { "branch": "master", "commit": "32a0867efa59b43edbb2db67b0871cfad90c9b66" },
"cmp-treesitter": { "branch": "master", "commit": "13e4ef8f4dd5639fca2eb9150e68f47639a9b37d" },
"cmp-under-comparator": { "branch": "master", "commit": "6857f10272c3cfe930cece2afa2406e1385bfef8" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"conflict-marker.vim": { "branch": "master", "commit": "11a4d42244755505b66b15cd4496a150432eb5e3" },
"conform.nvim": { "branch": "master", "commit": "75e7c5c7eb5fbd53f8b12dc420b31ec70770b231" },
"crates.nvim": { "branch": "main", "commit": "1dffccc0a95f656ebe00cacb4de282473430c5a1" },
"dashboard-nvim": { "branch": "master", "commit": "63df28409d940f9cac0a925df09d3dc369db9841" },
"debugprint.nvim": { "branch": "main", "commit": "661eea1d6f8237097ae372578fbe7458d690a3ac" },
"firenvim": { "branch": "master", "commit": "138424db463e6c0e862a05166a4ccc781cd7c19d" },
"friendly-snippets": { "branch": "main", "commit": "69a2c1675b66e002799f5eef803b87a12f593049" },
"fzf": { "branch": "master", "commit": "e4d0f7acd516d8f5869d3a2210fbf552743a129a" },
"fzf.vim": { "branch": "master", "commit": "f6cb5b17897ff0c38f60fecd4b529678bcfec259" },
"git-conflict.nvim": { "branch": "main", "commit": "690879ba23741f21646e97ba287333ff56137c4d" },
"go.nvim": { "branch": "master", "commit": "24d2fa373d55d9900cd4b502a88214dc17e6fab6" },
"guihua.lua": { "branch": "master", "commit": "9fb6795474918b492d9ab01b1ebaf85e8bf6fe0b" },
"hg": { "branch": "main", "commit": "1c4bdf80174ec840ba76c4dc7032c4313db62199" },
"java-syntax.vim": { "branch": "master", "commit": "9a3d76a8c6cd7765ba93a7bdd9280594167e3f1b" },
"kanagawa.nvim": { "branch": "master", "commit": "c19b9023842697ec92caf72cd3599f7dd7be4456" },
"kotlin-vim": { "branch": "master", "commit": "53fe045906df8eeb07cb77b078fc93acda6c90b8" },
"lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" },
"leap.nvim": { "branch": "main", "commit": "4394f67ccefc64cdb3258c9f22195ed65a13e874" },
"libp.nvim": { "branch": "main", "commit": "636b1748e92f66022c1763f32b2ded6b8606eda5" },
"lsp-status.nvim": { "branch": "master", "commit": "54f48eb5017632d81d0fd40112065f1d062d0629" },
"lsp-zero.nvim": { "branch": "v3.x", "commit": "433db11e818d07a5151e2c750ca8f09cc2aa3146" },
"lsp_lines.nvim": { "branch": "main", "commit": "cf2306dd332e34a3e91075b40bdd4f6db824b2ee" },
"lspkind.nvim": { "branch": "master", "commit": "7f26cf5e27e2bd910ce0ea00c514da2bf97423b8" },
"lualine.nvim": { "branch": "master", "commit": "566b7036f717f3d676362742630518a47f132fff" },
"luasnip-google.nvim": { "branch": "main", "commit": "5fd7feb144de0ecea837618c9c9e1bbecc0e3243" },
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "0989bdf4fdf7b5aa4c74131d7ffccc3f399ac788" },
"mason.nvim": { "branch": "main", "commit": "e110bc3be1a7309617cecd77bfe4bf86ba1b8134" },
"mellifluous.nvim": { "branch": "main", "commit": "d4a52152997907598715d341cad10a4000cf7152" },
"mkdir.nvim": { "branch": "main", "commit": "c55d1dee4f099528a1853b28bb28caa802eba217" },
"neo-tree.nvim": { "branch": "v2.x", "commit": "80dc74d081823649809f78370fa5b204aa9a853a" },
"neodev.nvim": { "branch": "main", "commit": "be8d4d4cab6c13c6a572269c9d6a63774baba9a0" },
"neoscopes": { "branch": "main", "commit": "470dff042004b93c10d262e8b0ad7bf6f703f86f" },
"neovim-ayu": { "branch": "master", "commit": "6463d39253bb70e2b867fce57f9e7174f657bd1b" },
"neovim-throttle-debounce": { "branch": "main", "commit": "5247b097df15016ab31db672b77ec4938bb9cbfd" },
"nui.nvim": { "branch": "main", "commit": "35da9ca1de0fc4dda96c2e214d93d363c145f418" },
"nvgoog": { "branch": "main", "commit": "c07300e18e81c0341967b8a5ba9afbf7388ca533" },
"nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" },
"nvim-cmp-buffer-lines": { "branch": "master", "commit": "924ccc04dc5c919b6baa05d45818025baa82699a" },
"nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" },
"nvim-dap": { "branch": "master", "commit": "aad46274f09ba29933e4cef2257cdda5ec19cf7a" },
"nvim-dap-ui": { "branch": "master", "commit": "7e5e16427aaf814dc2d58e1b219def9ef2fa2435" },
"nvim-hlslens": { "branch": "main", "commit": "8ffc64bb6b624612cf762982b92633f283f7a715" },
"nvim-jdtls": { "branch": "master", "commit": "66b5ace68a5d1c45fdfb1afa8d847e87af2aa1f8" },
"nvim-lightbulb": { "branch": "master", "commit": "8f00b89dd1b1dbde16872bee5fbcee2e58c9b8e9" },
"nvim-lint": { "branch": "master", "commit": "8df53b5dde8ea80f0a039775777eae6648a10229" },
"nvim-lspconfig": { "branch": "master", "commit": "796394fd19fb878e8dbc4fd1e9c9c186ed07a5f4" },
"nvim-luapad": { "branch": "master", "commit": "a5b3d6aa1fe5fe75e6124927392a9d3a60a0ecce" },
"nvim-notify": { "branch": "master", "commit": "1576123bff3bed67bc673a3076e591abfe5d8ca9" },
"nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" },
"nvim-surround": { "branch": "main", "commit": "703ec63aa798e5e07d309b35e42def34bebe0174" },
"nvim-treesitter": { "branch": "master", "commit": "8cd2b230174efbf7b5d9f49fe2f90bda6b5eb16e" },
"nvim-web-devicons": { "branch": "master", "commit": "db0c864375c198cacc171ff373e76bfce2a85045" },
"omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "4be2e8689067494ed7e5a4f1221adc31d1a07783" },
"onedark.nvim": { "branch": "main", "commit": "b5161f0c631571640485be5d1c059cab82c86872" },
"plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" },
"refactoring.nvim": { "branch": "master", "commit": "c067e44b8171494fc1b5206ab4c267cd74c043b1" },
"registers.nvim": { "branch": "main", "commit": "22bb98f93a423252fffeb3531f7bc12a3e07b63f" },
"rustaceanvim": { "branch": "master", "commit": "e4020e72a5562b9e7cd09e9cd025467f7b0ea76a" },
"scope.nvim": { "branch": "main", "commit": "cd27af77ad61a7199af5c28d27013fb956eb0e3e" },
"scss-syntax.vim": { "branch": "master", "commit": "bda22a93d1dcfcb8ee13be1988560d9bb5bd0fef" },
"tabular": { "branch": "master", "commit": "339091ac4dd1f17e225fe7d57b48aff55f99b23a" },
"tagalong.vim": { "branch": "main", "commit": "5a2bbf2b1d5b657685a49d48d98a4aa921c1fde3" },
"telescope-dap.nvim": { "branch": "master", "commit": "8c88d9716c91eaef1cdea13cb9390d8ef447dbfe" },
"telescope.nvim": { "branch": "master", "commit": "4367e05c06d19f28c514e1498bcd9410f4bc65b2" },
"telescope_citc": { "branch": "main", "commit": "f0f74127e262d097119d2946634d3aa7e49b0c2f" },
"telescope_codesearch": { "branch": "main", "commit": "a26077ad3c68cf897ae1c31da903d6516ebb9c92" },
"telescope_fig": { "branch": "main", "commit": "f6122fe82417ebeaddb9343cfd5584f62a4b8df8" },
"text-case.nvim": { "branch": "main", "commit": "d65b8ade26ef442d11cbf4719bb9830916a492c1" },
"time-ago.vim": { "branch": "master", "commit": "be978d5c790cfcc41f524205f28783b9937fd0ee" },
"todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" },
"tree-sitter-gdscript": { "branch": "master", "commit": "03f20b94707a21bed90bb95101684bc4036139ce" },
"trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" },
"undotree": { "branch": "master", "commit": "36ff7abb6b60980338344982ad4cdf03f7961ecd" },
"vcscommand.vim": { "branch": "master", "commit": "2fb32681361f37533455d20aaa7fc6eb11b0fa4b" },
"vim-bazel": { "branch": "master", "commit": "31b0d5e4f51da1aeb56d65bf505a744e6de405de" },
"vim-better-whitespace": { "branch": "master", "commit": "4d45b4a9b59faffa75a3662c448b8e500db07703" },
"vim-conjoin": { "branch": "master", "commit": "2ea3b8ed994d12bbf255825d973d865621c64860" },
"vim-floaterm": { "branch": "master", "commit": "3f01a623376957437f9376327637491b74719e38" },
"vim-imp": { "branch": "main", "commit": "fe9be485854ba602059f0d8af4fa4ab0a74d61ac" },
"vim-maktaba": { "branch": "master", "commit": "fe95bb10f6bb250943a44632107f6a3d76ce5f28" },
"vim-matchup": { "branch": "master", "commit": "e2cca1747ab175b8d839a5d28679427564643a57" },
"vim-ripgrep": { "branch": "master", "commit": "2bb2425387b449a0cd65a54ceb85e123d7a320b8" },
"vim-searchindex": { "branch": "master", "commit": "b0788c8213210b3bd23b62847dd5a9ebbe4ad648" },
"vim-signify": { "branch": "master", "commit": "7d538b77a5a8806e344b057f8846f6d0c035efa9" },
"vim-tmux": { "branch": "master", "commit": "cfe76281efc29890548cf9eedd42ad51c7a1faf0" },
"vim-tmux-focus-events": { "branch": "master", "commit": "b1330e04ffb95ede8e02b2f7df1f238190c67056" },
"vim-tmux-navigator": { "branch": "master", "commit": "38b1d0402c4600543281dc85b3f51884205674b6" },
"vim-tmux-syntax": { "branch": "master", "commit": "1b6a6a5beb96fa232c8d35d305f77496b12678a9" },
"vim-windowswap": { "branch": "master", "commit": "15db3f697aa1fa696d99fcdc920c90cd2cec855e" },
"vimux": { "branch": "master", "commit": "616fcb4799674a7a809b14ca2dc155bb6ba25788" },
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" },
"zen-mode.nvim": { "branch": "main", "commit": "50e2e2a36cc97847d9ab3b1a3555ba2ef6839b50" }
}

View File

@ -8,3 +8,4 @@ collsion_body
shake_decay shake_decay
index index
func/! func/!
lookup_app_pointer_handle/!

View File

@ -0,0 +1,83 @@
" Copyright 2011 The Go Authors. All rights reserved.
" Use of this source code is governed by a BSD-style
" license that can be found in the LICENSE file.
"
" gotpl.vim: Vim syntax file for Go templates.
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
finish
endif
syn case match
" Go escapes
syn match goEscapeOctal display contained "\\[0-7]\{3}"
syn match goEscapeC display contained +\\[abfnrtv\\'"]+
syn match goEscapeX display contained "\\x\x\{2}"
syn match goEscapeU display contained "\\u\x\{4}"
syn match goEscapeBigU display contained "\\U\x\{8}"
syn match goEscapeError display contained +\\[^0-7xuUabfnrtv\\'"]+
hi def link goEscapeOctal goSpecialString
hi def link goEscapeC goSpecialString
hi def link goEscapeX goSpecialString
hi def link goEscapeU goSpecialString
hi def link goEscapeBigU goSpecialString
hi def link goSpecialString Special
hi def link goEscapeError Error
" Strings and their contents
syn cluster goStringGroup contains=goEscapeOctal,goEscapeC,goEscapeX,goEscapeU,goEscapeBigU,goEscapeError
syn region goString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@goStringGroup
syn region goRawString contained start=+`+ end=+`+
hi def link goString String
hi def link goRawString String
" Characters; their contents
syn cluster goCharacterGroup contains=goEscapeOctal,goEscapeC,goEscapeX,goEscapeU,goEscapeBigU
syn region goCharacter start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@goCharacterGroup
hi def link goCharacter Character
" Integers
syn match goDecimalInt contained "\<\d\+\([Ee]\d\+\)\?\>"
syn match goHexadecimalInt contained "\<0x\x\+\>"
syn match goOctalInt contained "\<0\o\+\>"
syn match goOctalError contained "\<0\o*[89]\d*\>"
syn cluster goInt contains=goDecimalInt,goHexadecimalInt,goOctalInt
" Floating point
syn match goFloat contained "\<\d\+\.\d*\([Ee][-+]\d\+\)\?\>"
syn match goFloat contained "\<\.\d\+\([Ee][-+]\d\+\)\?\>"
syn match goFloat contained "\<\d\+[Ee][-+]\d\+\>"
" Imaginary literals
syn match goImaginary contained "\<\d\+i\>"
syn match goImaginary contained "\<\d\+\.\d*\([Ee][-+]\d\+\)\?i\>"
syn match goImaginary contained "\<\.\d\+\([Ee][-+]\d\+\)\?i\>"
syn match goImaginary contained "\<\d\+[Ee][-+]\d\+i\>"
hi def link goInt Number
hi def link goFloat Number
hi def link goImaginary Number
" Token groups
syn cluster gotplLiteral contains=goString,goRawString,goCharacter,@goInt,goFloat,goImaginary
syn keyword gotplControl contained if else end range with template
syn keyword gotplFunctions contained and html index js len not or print printf println urlquery eq ne lt le gt ge
syn match gotplVariable contained /\$[^ ]*\>/
syn match goTplIdentifier contained /\.[^ ]*\>/
hi def link gotplControl Keyword
hi def link gotplFunctions Function
hi def link goTplVariable Special
syn region gotplAction start="{{" end="}}" contains=@gotplLiteral,gotplControl,gotplFunctions,gotplVariable,goTplIdentifier display
syn region gotplAction start="\[\[" end="\]\]" contains=@gotplLiteral,gotplControl,gotplFunctions,gotplVariable display
syn region goTplComment start="{{/\*" end="\*/}}" display
syn region goTplComment start="\[\[/\*" end="\*/\]\]" display
hi def link gotplAction PreProc
hi def link goTplComment Comment
let b:current_syntax = "gotmpl"

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,112 @@
<PcFileCache>
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/mono-options.pc" lastWriteTime="2022-06-14T14:13:23-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/mono.pc" lastWriteTime="2022-06-14T14:13:23-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/expat.pc" lastWriteTime="2022-06-14T12:57:28-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/glade-sharp-2.0.pc" lastWriteTime="2022-06-14T14:25:49-05:00" name="glade-sharp-2.0" version="2.12.45" description="Glade# - Glade .NET Binding" requires="gtk-sharp-2.0" targetFramework=".NETFramework,Version=v4.0">
<Assembly name="glade-sharp" version="2.12.0.0" culture="neutral" publicKeyToken="35e10195dab3c99f" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/gtk-sharp-2.0/glade-sharp.dll" />
</File>
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/monodoc.pc" lastWriteTime="2022-06-14T14:13:23-05:00" name="monodoc" version="6.12.0" description="Monodoc - Mono Documentation Tools" targetFramework=".NETFramework,Version=v4.0">
<Assembly name="monodoc" version="1.0.0.0" culture="neutral" publicKeyToken="0738eb9f132ed756" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/monodoc/monodoc.dll" />
</File>
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/librsvg-2.0.pc" lastWriteTime="2022-06-14T12:58:20-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/cairo-ft.pc" lastWriteTime="2022-06-14T12:48:13-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/system.web.mvc3.pc" lastWriteTime="2022-06-14T14:13:23-05:00" name="system.web.mvc3" version="3.0.0.0" description="System.Web.Mvc - ASP.NET MVC v3" targetFramework=".NETFramework,Version=v4.0">
<Assembly name="System.Web.Mvc" version="3.0.0.0" culture="neutral" publicKeyToken="31bf3856ad364e35" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/gac/System.Web.Mvc/3.0.0.0__31bf3856ad364e35/System.Web.Mvc.dll" />
</File>
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/xsp-2.pc" lastWriteTime="2022-06-14T14:24:43-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gapi-2.0.pc" lastWriteTime="2022-06-14T14:25:45-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gio-2.0.pc" lastWriteTime="2022-06-14T12:51:10-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/system.web.mvc2.pc" lastWriteTime="2022-06-14T14:13:23-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gio-unix-2.0.pc" lastWriteTime="2022-06-14T12:51:10-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/wcf.pc" lastWriteTime="2022-06-14T14:13:23-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/cairo-quartz-image.pc" lastWriteTime="2022-06-14T12:48:13-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/pango.pc" lastWriteTime="2022-06-14T12:52:07-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gdk-quartz-2.0.pc" lastWriteTime="2022-06-14T12:56:30-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gobject-2.0.pc" lastWriteTime="2022-06-14T12:51:10-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/xbuild12.pc" lastWriteTime="2022-06-14T14:13:23-05:00" name="xbuild12" version="12.0" description="XBuild/MSBuild 12.0" targetFramework=".NETFramework,Version=v4.0">
<Assembly name="Microsoft.Build.Engine" version="12.0.0.0" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/xbuild/12.0/bin/Microsoft.Build.Engine.dll" />
<Assembly name="Microsoft.Build.Framework" version="12.0.0.0" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/xbuild/12.0/bin/Microsoft.Build.Framework.dll" />
<Assembly name="Microsoft.Build.Tasks.v12.0" version="12.0.0.0" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/xbuild/12.0/bin/Microsoft.Build.Tasks.v12.0.dll" />
<Assembly name="Microsoft.Build.Utilities.v12.0" version="12.0.0.0" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/xbuild/12.0/bin/Microsoft.Build.Utilities.v12.0.dll" />
<Assembly name="Microsoft.Build" version="12.0.0.0" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/xbuild/12.0/bin/Microsoft.Build.dll" />
</File>
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gtk+-quartz-2.0.pc" lastWriteTime="2022-06-14T12:56:30-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/cairo-pdf.pc" lastWriteTime="2022-06-14T12:48:13-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/libcroco-0.6.pc" lastWriteTime="2022-06-14T12:57:56-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gdk-pixbuf-2.0.pc" lastWriteTime="2022-06-14T12:52:49-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gtk-dotnet-2.0.pc" lastWriteTime="2022-06-14T14:25:50-05:00" name="gtk-dotnet-2.0" version="2.12.45" description=".NET Extensions for Gtk" requires="gtk-sharp-2.0" targetFramework=".NETFramework,Version=v4.0">
<Assembly name="gtk-dotnet" version="2.12.0.0" culture="neutral" publicKeyToken="35e10195dab3c99f" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/gtk-sharp-2.0/gtk-dotnet.dll" />
</File>
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/mono-lineeditor.pc" lastWriteTime="2022-06-14T14:13:23-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/system.web.mvc.pc" lastWriteTime="2022-06-14T14:13:23-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/atk.pc" lastWriteTime="2022-06-14T12:52:21-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/glib-2.0.pc" lastWriteTime="2022-06-14T12:51:10-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/reactive.pc" lastWriteTime="2022-06-14T14:13:23-05:00" name="reactive" version="6.12.0" description="Reactive Extensions" targetFramework=".NETFramework,Version=v4.0">
<Assembly name="System.Reactive.Interfaces" version="2.2.0.0" culture="neutral" publicKeyToken="31bf3856ad364e35" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/System.Reactive.Interfaces.dll" />
<Assembly name="System.Reactive.Core" version="2.2.0.0" culture="neutral" publicKeyToken="31bf3856ad364e35" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/System.Reactive.Core.dll" />
<Assembly name="System.Reactive.Linq" version="2.2.0.0" culture="neutral" publicKeyToken="31bf3856ad364e35" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/System.Reactive.Linq.dll" />
<Assembly name="System.Reactive.PlatformServices" version="2.2.0.0" culture="neutral" publicKeyToken="31bf3856ad364e35" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/System.Reactive.PlatformServices.dll" />
<Assembly name="System.Reactive.Providers" version="2.2.0.0" culture="neutral" publicKeyToken="31bf3856ad364e35" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/System.Reactive.Providers.dll" />
<Assembly name="System.Reactive.Debugger" version="2.2.0.0" culture="neutral" publicKeyToken="31bf3856ad364e35" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/System.Reactive.Debugger.dll" />
<Assembly name="System.Reactive.Experimental" version="2.2.0.0" culture="neutral" publicKeyToken="31bf3856ad364e35" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/System.Reactive.Experimental.dll" />
<Assembly name="System.Reactive.Runtime.Remoting" version="2.2.0.0" culture="neutral" publicKeyToken="31bf3856ad364e35" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/System.Reactive.Runtime.Remoting.dll" />
</File>
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/cairo-fc.pc" lastWriteTime="2022-06-14T12:48:13-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/freetype2.pc" lastWriteTime="2022-06-14T12:46:29-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/system.web.extensions_1.0.pc" lastWriteTime="2022-06-14T14:13:23-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/cairo.pc" lastWriteTime="2022-06-14T12:48:13-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/system.web.extensions.design_1.0.pc" lastWriteTime="2022-06-14T14:13:23-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gdk-2.0.pc" lastWriteTime="2022-06-14T12:56:30-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/monosgen-2.pc" lastWriteTime="2022-06-14T14:13:23-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gtk+-unix-print-2.0.pc" lastWriteTime="2022-06-14T12:56:30-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/libffi.pc" lastWriteTime="2022-06-14T12:48:31-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/pangocairo.pc" lastWriteTime="2022-06-14T12:52:07-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/aspnetwebstack.pc" lastWriteTime="2022-06-14T14:13:23-05:00" name="aspnetwebstack" version="6.12.0" description="References Microsoft ASP.NET Web Stack" targetFramework=".NETFramework,Version=v4.0">
<Assembly name="System.Web.Razor" version="2.0.0.0" culture="neutral" publicKeyToken="31bf3856ad364e35" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/gac/System.Web.Razor/2.0.0.0__31bf3856ad364e35/System.Web.Razor.dll" />
<Assembly name="System.Web.Http" version="4.0.0.0" culture="neutral" publicKeyToken="31bf3856ad364e35" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/gac/System.Web.Http/4.0.0.0__31bf3856ad364e35/System.Web.Http.dll" />
<Assembly name="System.Web.WebPages" version="2.0.0.0" culture="neutral" publicKeyToken="31bf3856ad364e35" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/gac/System.Web.WebPages/2.0.0.0__31bf3856ad364e35/System.Web.WebPages.dll" />
<Assembly name="System.Web.WebPages.Razor" version="2.0.0.0" culture="neutral" publicKeyToken="31bf3856ad364e35" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/gac/System.Web.WebPages.Razor/2.0.0.0__31bf3856ad364e35/System.Web.WebPages.Razor.dll" />
<Assembly name="System.Web.WebPages.Deployment" version="2.0.0.0" culture="neutral" publicKeyToken="31bf3856ad364e35" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/gac/System.Web.WebPages.Deployment/2.0.0.0__31bf3856ad364e35/System.Web.WebPages.Deployment.dll" />
</File>
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/ige-mac-integration.pc" lastWriteTime="2022-06-14T12:57:43-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/mono-cairo.pc" lastWriteTime="2022-06-14T14:13:23-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gmodule-export-2.0.pc" lastWriteTime="2022-06-14T12:51:10-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/dotnet35.pc" lastWriteTime="2022-06-14T14:13:23-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/cairo-png.pc" lastWriteTime="2022-06-14T12:48:13-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/libtiff-4.pc" lastWriteTime="2022-06-14T12:45:34-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/glib-sharp-2.0.pc" lastWriteTime="2022-06-14T14:25:46-05:00" name="glib-sharp-2.0" version="2.12.45" description="GLib# - .NET Binding for the glib library." targetFramework=".NETFramework,Version=v4.0">
<Assembly name="glib-sharp" version="2.12.0.0" culture="neutral" publicKeyToken="35e10195dab3c99f" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/gtk-sharp-2.0/glib-sharp.dll" />
</File>
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gthread-2.0.pc" lastWriteTime="2022-06-14T12:51:10-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/cairo-svg.pc" lastWriteTime="2022-06-14T12:48:13-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gtk-sharp-2.0.pc" lastWriteTime="2022-06-14T14:25:48-05:00" name="gtk-sharp-2.0" version="2.12.45" description="Gtk# - GNOME .NET Binding" requires="glib-sharp-2.0" targetFramework=".NETFramework,Version=v4.0">
<Assembly name="pango-sharp" version="2.12.0.0" culture="neutral" publicKeyToken="35e10195dab3c99f" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/gtk-sharp-2.0/pango-sharp.dll" />
<Assembly name="atk-sharp" version="2.12.0.0" culture="neutral" publicKeyToken="35e10195dab3c99f" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/gtk-sharp-2.0/atk-sharp.dll" />
<Assembly name="gdk-sharp" version="2.12.0.0" culture="neutral" publicKeyToken="35e10195dab3c99f" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/gtk-sharp-2.0/gdk-sharp.dll" />
<Assembly name="gtk-sharp" version="2.12.0.0" culture="neutral" publicKeyToken="35e10195dab3c99f" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/gtk-sharp-2.0/gtk-sharp.dll" />
</File>
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/pixman-1.pc" lastWriteTime="2022-06-14T12:47:09-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gail.pc" lastWriteTime="2022-06-14T12:56:30-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/libpng14.pc" lastWriteTime="2022-06-14T12:45:02-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/libgdiplus.pc" lastWriteTime="2022-06-14T14:24:25-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/cairo-quartz.pc" lastWriteTime="2022-06-14T12:48:13-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/sqlite3.pc" lastWriteTime="2022-06-14T12:57:17-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gmodule-no-export-2.0.pc" lastWriteTime="2022-06-14T12:51:10-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/cairo-quartz-font.pc" lastWriteTime="2022-06-14T12:48:13-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gtk-engines-2.pc" lastWriteTime="2022-06-14T12:58:49-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/fontconfig.pc" lastWriteTime="2022-06-14T12:46:46-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/libxml-2.0.pc" lastWriteTime="2022-06-14T12:46:13-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/xsp-4.pc" lastWriteTime="2022-06-14T14:24:43-05:00" name="xsp-4" version="4.6" description="Mono.WebServer2.dll - ASP.NET hosting support classes for .NET 4.0" targetFramework=".NETFramework,Version=v4.0">
<Assembly name="Mono.WebServer2" version="0.4.0.0" culture="neutral" publicKeyToken="0738eb9f132ed756" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/4.5/Mono.WebServer2.dll" />
</File>
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/libglade-2.0.pc" lastWriteTime="2022-06-14T12:57:04-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/mono-2.pc" lastWriteTime="2022-06-14T14:13:23-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/cecil.pc" lastWriteTime="2022-06-14T14:13:23-05:00" name="cecil" version="6.12.0" description="Mono Internal Libraries -- Do not use" targetFramework=".NETFramework,Version=v4.0">
<Assembly name="Mono.Cecil" version="0.9.5.0" culture="neutral" publicKeyToken="0738eb9f132ed756" file="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/mono/gac/Mono.Cecil/0.9.5.0__0738eb9f132ed756/Mono.Cecil.dll" />
</File>
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/cairo-ps.pc" lastWriteTime="2022-06-14T12:48:13-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/cairo-script.pc" lastWriteTime="2022-06-14T12:48:13-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gmodule-2.0.pc" lastWriteTime="2022-06-14T12:51:10-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/dotnet.pc" lastWriteTime="2022-06-14T14:13:23-05:00" />
<File path="/Library/Frameworks/Mono.framework/Versions/6.12.0/lib/pkgconfig/gtk+-2.0.pc" lastWriteTime="2022-06-14T12:56:30-05:00" />
</PcFileCache>

View File

@ -0,0 +1,9 @@
abbr "allpaths"="blaze query \"allpaths(%, %)\" --output graph | /google/data/ro/projects/graphviz-server/graphviz"
abbr "bb"="blaze build"
abbr "bq"="blaze query"
abbr "br"="blaze run"
abbr "bt"="blaze test"
abbr "ds_clean"="find ./ -name \".DS_Store\" -depth -exec rm {} \;"
abbr "gdvim"="nvim --listen /tmp/godot.pipe"
abbr "mux"="tmuxinator"
abbr "replace_string"="replace_string --disable_p4 \"%\" \"%\""

9
config/.ripgreprc Normal file
View File

@ -0,0 +1,9 @@
# add gdscript type
--type-add
gd:*.{gd,gdscript}*
# Search hidden files / directories (e.g. dotfiles) by default
--hidden
# Because who cares about case!?
--smart-case

View File

@ -1,12 +1,12 @@
[user] [user]
name = Christian Nieves name = Christian Nieves
email = cnieves@google.com email = cnieves@google.com
[color] [color]
ui = auto ui = auto
[url "ssh://git@github.com/"] [url "ssh://git@github.com/"]
insteadOf = https://github.com/ insteadOf = https://github.com/
[alias] [alias]
gr = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all gr = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
# one-line log # one-line log
l = log --pretty=format:"%C(yellow)%h\\ %ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short l = log --pretty=format:"%C(yellow)%h\\ %ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short
@ -34,17 +34,69 @@
la = "!git config -l | grep alias | cut -c 7-" la = "!git config -l | grep alias | cut -c 7-"
po = push origin po = push origin
[core] [core]
autocrlf = false autocrlf = false
excludesfile = /Users/christian/.gitignore_global
[icdiff] [icdiff]
options = --highlight --line-numbers options = --highlight --line-numbers
[merge] [merge]
tool = "nvim" tool = "nvim"
[mergetool "nvim"] [mergetool "nvim"]
cmd = nvim -d -c \"wincmd l\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\" cmd = nvim -d -c \"wincmd l\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\"
[diff]
tool = icdiff
[filter "lfs"] [filter "lfs"]
clean = git-lfs clean -- %f clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f smudge = git-lfs smudge -- %f
process = git-lfs filter-process process = git-lfs filter-process
required = true required = true
# clearly makes git better
[column]
ui = auto
[branch]
sort = -committerdate
[tag]
sort = version:refname
[init]
defaultBranch = main
[diff]
algorithm = histogram
colorMoved = plain
mnemonicPrefix = true
renames = true
tool = icdiff
[push]
default = simple
autoSetupRemote = true
followTags = true
[fetch]
prune = true
pruneTags = true
all = true
# why the hell not?
[help]
autocorrect = prompt
[commit]
verbose = true
[rerere]
enabled = true
autoupdate = true
[core]
excludesfile = ~/.gitignore
[rebase]
autoSquash = true
autoStash = true
updateRefs = true
# a matter of taste (uncomment if you dare)
[core]
# fsmonitor = true
# untrackedCache = true
[merge]
# (just 'diff3' if git version < 2.3)
# conflictstyle = zdiff3
[pull]
# rebase = true

19
git/.gitignore_global Normal file
View File

@ -0,0 +1,19 @@
# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so

73
google/.alacritty.toml Normal file
View File

@ -0,0 +1,73 @@
[font]
size = 12
normal = { family = "ComicCodeLigatures Nerd Font Light" }
[window]
option_as_alt = "OnlyLeft"
decorations = "None"
[colors.primary]
background = "#24273a"
foreground = "#cad3f5"
dim_foreground = "#8087a2"
bright_foreground = "#cad3f5"
[colors.cursor]
text = "#24273a"
cursor = "#f4dbd6"
[colors.vi_mode_cursor]
text = "#24273a"
cursor = "#b7bdf8"
[colors.search.matches]
foreground = "#24273a"
background = "#a5adcb"
[colors.search.focused_match]
foreground = "#24273a"
background = "#a6da95"
[colors.footer_bar]
foreground = "#24273a"
background = "#a5adcb"
[colors.hints.start]
foreground = "#24273a"
background = "#eed49f"
[colors.hints.end]
foreground = "#24273a"
background = "#a5adcb"
[colors.selection]
text = "#24273a"
background = "#f4dbd6"
[colors.normal]
black = "#494d64"
red = "#ed8796"
green = "#a6da95"
yellow = "#eed49f"
blue = "#8aadf4"
magenta = "#f5bde6"
cyan = "#8bd5ca"
white = "#b8c0e0"
[colors.bright]
black = "#5b6078"
red = "#ed8796"
green = "#a6da95"
yellow = "#eed49f"
blue = "#8aadf4"
magenta = "#f5bde6"
cyan = "#8bd5ca"
white = "#a5adcb"
[[colors.indexed_colors]]
index = 16
color = "#f5a97f"
[[colors.indexed_colors]]
index = 17
color = "#f4dbd6"

View File

@ -26,14 +26,13 @@
# --order_output=no: By default, blaze query orders the outputs. This can be expensive, # --order_output=no: By default, blaze query orders the outputs. This can be expensive,
# so this flag disables the ordering step. # so this flag disables the ordering step.
build --nostamp build --nostamp
# build --workspace_status_command=/bin/true build --workspace_status_command=/bin/true
# build --experimental_spawn_scheduler
build --trim_test_configuration build --trim_test_configuration
build --show_progress_rate_limit=1 build --show_progress_rate_limit=1
# query --order_output=no
# --test_output / --test_summary obviously dont do anything for performance, # --test_output / --test_summary obviously dont do anything for performance,
# keep them if you like what they do. # keep them if you like what they do.
test --test_output=all --test_summary=detailed --build_tests_only
# test --test_output=errors --test_summary=detailed --build_tests_only # test --test_output=errors --test_summary=detailed --build_tests_only
# In C++, failing tests will print a lot of noisy thread output. Use # In C++, failing tests will print a lot of noisy thread output. Use
@ -44,8 +43,7 @@ build --show_progress_rate_limit=1
import %workspace%/java/com/google/android/gmscore/blaze/blazerc import %workspace%/java/com/google/android/gmscore/blaze/blazerc
build --config=gmscore_tap build --config=gmscore_tap
test --config=gmscore_test test --config=gmscore_test_debug
test --test_output=all
#
# https://g3doc.corp.google.com/devtools/blaze/g3doc/faq.md?cl=head#BlazeOom # https://g3doc.corp.google.com/devtools/blaze/g3doc/faq.md?cl=head#BlazeOom
startup --host_jvm_args=-Xmx18G --host_jvm_args=-Xms18G startup --host_jvm_args=-Xmx18G --host_jvm_args=-Xms18G

View File

@ -16,15 +16,15 @@ opts.vimdiff = -d
# opts.vimdiff = -c ':call ShowMercurialDiff(argv(0), argv(1))' # opts.vimdiff = -c ':call ShowMercurialDiff(argv(0), argv(1))'
[extensions] [extensions]
unsupported.tree = # unsupported.tree =
unsupported.alices = # unsupported.alices =
extdiff = extdiff =
color = # color =
beautifygraph = beautifygraph =
[alices] # [alices]
findings.extra_args = --proxy # findings.extra_args = --proxy
summarize.extra_args = --proxy # summarize.extra_args = --proxy
[merge-tools] [merge-tools]
vimdiff.executable = nvim vimdiff.executable = nvim
@ -51,6 +51,7 @@ dt = icdiff --pager=on
dtex = dt -r exported(.) dtex = dt -r exported(.)
dtp4 = dt -r p4base dtp4 = dt -r p4base
dtup = dt -r .^ dtup = dt -r .^
ra = revert --all
whatsout = status -n --change . --template=hgshort_status whatsout = status -n --change . --template=hgshort_status
what = status -n --change . --template=hgshort_status what = status -n --change . --template=hgshort_status

View File

@ -1,2 +0,0 @@
parren
yurilev

View File

@ -1,7 +0,0 @@
# hgshort - Single Letter Shorthands for Fig
hgshort makes it really easy to work with files and revisions in Fig. Use
**single letter** shorthand names, instead of long paths and hash codes.
Documentation can be found
[here](http://g3doc/experimental/fig_contrib/g3doc/hgshort).

View File

@ -1,21 +0,0 @@
#!/bin/bash
# Creates the recommended alias definitions for hgshort when sourced.
HGSHORT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-${(%):-%x}}}")" && pwd)"
alias hg="source $HGSHORT_DIR/hgshort.sh"
# There are two ways to customize:
# - define HGSHORT_CMDS_ADDITIONAL in your shell configuration to augment the
# following list.
# - define HGSHORT_CMDS directly in your shell configuration to override the
# following list.
if [[ -z "$HGSHORT_CMDS" ]]; then
HGSHORT_CMDS="$HGSHORT_CMDS_ADDITIONAL ls cat head tail mv cp rm chmod g4 diff merge patch meld vim emacs edit trim less more"
fi
# Doing the variable expansion with an 'echo' makes this compatible with zsh.
for c in $(echo "$HGSHORT_CMDS"); do
alias $c="source $HGSHORT_DIR/tobashargs.sh $c"
done

View File

@ -1,12 +0,0 @@
#!/bin/bash
HGSHORT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-${(%):-%x}}}")" && pwd)"
source $HGSHORT_DIR/aliases.sh
cd $(hg hgd "$@")
CITC="${PWD#/google/src/cloud/$USER/}"
CITC="${CITC%/google3}"
echo "CitC $CITC"
hg l --color=always

View File

@ -1,73 +0,0 @@
# .hgrc for use with hgshort.
#
# Adds generated single letter revision and file shorthand names to the outputs
# of 'hg l/xl/ll' and 'hg status'.
#
# * For hg l/xl/ll, modifies the defaults set by:
# http://google3/devtools/piper/hgfission/client/config/google-ui-tweaks.rc
#
# * For hg status, overrides the default template (no extensible template
# available), but with one that looks the same.
#
# To use, add the following line to your ~/.hgrc:
# %include /google/src/head/depot/google3/experimental/fig_contrib/hgshort/hgshort.hgrc
#
# To make hg and other commands actually recognize the outputted shorthand
# names, follow go/hgshort#initial-setup.
#
# If you have already customized the outputs of 'hg l/xl/ll' or 'hg status',
# including this file would override them. Instead:
#
# * If you only aliased or added default arguments for 'hg status', add the
# following argument:
# --template=hgshort_status
#
# * If you customized the outputs themselves, copy the "extensions" and
# optionally the "color" sections and use:
#
# + hgshort_revision_shorthand — in your log templates.
# + hgshort_file_shorthand — in your status templates.
[extensions]
hgshort = /google/src/head/depot/google3/experimental/fig_contrib/hgshort/hgshort.py
[color]
# The color used for hgshort's single letter aliases.
hgshort.alias = red bold
[color256]
# The color used for hgshort's single letter aliases.
hgshort.alias = orange bold
##### hg l/xl/ll configuration #####
[templatealias]
# Get an alias for the current revision (node) with an uppercase letter.
hgshort_revision_shorthand='{hgshort(node,"A")}'
# Add the revision hgshort shorthand name to the output of 'hg l/xl/ll'.
google_compact_line_1_part_1 = '{hgshort_revision_shorthand}{google_compact_uniq_id}'
##### hg status configuration #####
[templatealias]
# Get an alias for the current file with a lowercase letter.
hgshort_file_shorthand='{hgshort(relpath(path),"a")}'
# Get the right built-in label (style) for the file's status.
# See http://screen/8A5ynkOdEED.png for an example output,
# and 'hg help status' for details.
hgshort_status_label(status) = '{ifeq(status, "?", "status.unknown", ifeq(status, "!", "status.deleted", get(dict(A="status.added", M="status.modified", R="status.removed", I="status.ignored", C="status.clean"), status)))}'
hgshort_status_line1 = '{hgshort_file_shorthand}{label(hgshort_status_label(status), '{status} {relpath(path)}')}'
hgshort_status_line2 = '{if(source, " {label("status.copied", " {relpath(source)}")}")}'
[templates]
# Add the hgshort file shorthand name to the output of 'hg status'.
# In conflict resolution mode, we get empty entries. Filter them out.
hgshort_status = '{if(path,"{separate("\n", hgshort_status_line1, hgshort_status_line2)}\n","")}'
[defaults]
# Override the default 'hg status' command, but keep -n working.
status = --template=hgshort_status
[alias]
# Override the default 'hg pstatus' template.
pstatus = pstatus --template=hgshort_status

View File

@ -1,82 +0,0 @@
'''"shorthand" template filter to emit bash shorthand accessors.'''
import os
import sys
from mercurial import error
from mercurial import i18n
from mercurial import registrar
from mercurial import templateutil
# dict of template built-in functions
funcs = {}
templatefunc = registrar.templatefunc(funcs)
templatefilter = registrar.templatefilter()
evalboolean = templateutil.evalboolean
evalstring = templateutil.evalstring
bashvarsfile = None
if sys.stdout.isatty():
if 'HGSHORT_BASH_VARS' in os.environ:
bashvarsfile = os.environ['HGSHORT_BASH_VARS']
nextaliasidbytype = {
b'a': ord(b'a'),
b'A': ord(b'A')}
def writealias(name, value):
if not bashvarsfile:
return
with open(bashvarsfile, 'a') as f:
f.write("export %s='%s'\n" % (name.decode('utf-8'), value.decode('utf-8')))
def nextaliaschar(aliastype):
if not bashvarsfile:
return None
aliasid = nextaliasidbytype[aliastype]
if aliasid < ord(aliastype) + 26:
nextaliasidbytype[aliastype] += 1
return chr(aliasid).encode('utf-8')
return None
def maybealias(value, aliastype):
"""Export as next bash alias and return id, or None."""
aliaschar = nextaliaschar(aliastype)
if not aliaschar: return None
writealias(b'hgshort%s' % aliaschar, value)
return aliaschar
@templatefilter(b'shorthand', intype=bytes)
def shorthand(text):
"""Export as next bash alias."""
if not bashvarsfile:
return b''
aliaschar = maybealias(text, b'a')
if not aliaschar:
return b' '
return b'%s ' % aliaschar
@templatefunc(
b'hgshort(text, aliastype)',
argspec=b'text aliastype',
requires={b'ui'})
def hgshort(context, mapping, args):
"""Export as next bash alias and return id, or None."""
if not bashvarsfile:
return b''
if b'text' not in args or b'aliastype' not in args:
raise error.ParseError(i18n._(b'hgshort() expects one to three arguments'))
text = evalstring(context, mapping, args[b'text'])
aliastype = evalstring(context, mapping, args[b'aliastype'])
aliaschar = maybealias(text, aliastype)
if not aliaschar:
return b' '
aliastext = b'%s ' % aliaschar
ui = context.resource(mapping, b'ui')
return ui.label(aliastext, b'hgshort.alias')

View File

@ -1,20 +0,0 @@
#!/bin/bash
HGSHORT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-${(%):-%x}}}")" && pwd)"
export HGSHORT_BASH_VARS="/tmp/hgshort-bash-vars-$$.sh"
export HGSHORT_BASH_ARGS="/tmp/hgshort-bash-args-$$.sh"
if [[ -f $HGSHORT_BASH_VARS ]]; then
\rm $HGSHORT_BASH_VARS # don't call rm to avoid alias loop
fi
HGSHORT_IS_HG=1 $HGSHORT_DIR/tobashargs.py "$@" > $HGSHORT_BASH_ARGS
xargs --null --arg-file=$HGSHORT_BASH_ARGS \
hg --config extensions.hgshort=$HGSHORT_DIR/hgshort.py
\rm $HGSHORT_BASH_ARGS # don't call rm to avoid alias loop
if [[ -f $HGSHORT_BASH_VARS ]]; then
source $HGSHORT_BASH_VARS
\rm $HGSHORT_BASH_VARS # don't call rm to avoid alias loop
fi

View File

@ -1,35 +0,0 @@
#! /usr/bin/python3
"""Converts single letters like X to bash variable references like $hgshortX."""
import os
import re
import sys
# Shortands can be prefixed with an 'r', in which case several can be used in
# one argument. This is useful for revsets, for example: 'rA::rD'.
ALIAS_RE = re.compile(r'^([a-zA-Z])$|\br([A-Z])\b')
def subst(match):
char = match.group(1) or match.group(2)
var = 'hgshort%s' % char
if var in os.environ:
return os.getenv(var, '')
return match.group(0)
def substall(s):
return ALIAS_RE.sub(subst, s)
# Don't process first argument for `hg`, since it's often a command abbreviated
# to a single letter.
if 'HGSHORT_IS_HG' in os.environ:
args = sys.argv[1:2] + list(substall(a) for a in sys.argv[2:])
else:
args = list(substall(a) for a in sys.argv[1:])
# sys.stderr.write('%s\n' % repr(args)) # debug only
sys.stdout.write(chr(0).join(args))

View File

@ -1,11 +0,0 @@
#!/bin/bash
HGSHORT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-${(%):-%x}}}")" && pwd)"
export HGSHORT_BASH_CMD="$1"
export HGSHORT_BASH_ARGS="/tmp/HGSHORT-bash-args-$$.sh"
shift
$HGSHORT_DIR/tobashargs.py "$@" > $HGSHORT_BASH_ARGS
xargs --null --arg-file=$HGSHORT_BASH_ARGS $HGSHORT_BASH_CMD
\rm $HGSHORT_BASH_ARGS # don't call rm to avoid alias loop

View File

@ -52,10 +52,8 @@ set -g status on
set-option -g status-interval 2 set-option -g status-interval 2
bind Escape confirm-before "kill-server" bind Escape confirm-before "kill-server"
# Automatically set window title # set-option -g automatic-rename on
set-window-option -g automatic-rename off # set-option -g automatic-rename-format '#{?#{m/r:^(/google/src)?/cloud/,#{pane_current_path}},#{s|^(/google/src)?/cloud/[^/]+/([^/]+).+$|\2|:pane_current_path},#{b:pane_current_path}}'
set-window-option -g allow-rename on
#set-option -g set-titles on
set-window-option -g xterm-keys on set-window-option -g xterm-keys on
set-option -g xterm-keys on set-option -g xterm-keys on
@ -90,6 +88,8 @@ bind-key s split-window -v -c '#{pane_current_path}'
bind -n M-s set-window-option synchronize-panes\; display-message "synchronize-panes is now #{?pane_synchronized,on,off}" bind -n M-s set-window-option synchronize-panes\; display-message "synchronize-panes is now #{?pane_synchronized,on,off}"
# bind -n C-Space select-pane -D \; resize-pane -Z
bind -n M-z resize-pane -Z bind -n M-z resize-pane -Z
bind -n M-j resize-pane -D 5 bind -n M-j resize-pane -D 5
@ -117,24 +117,57 @@ bind-key -r > swap-window -t +1\; select-window -t +1
# loop through current window's panes while zoomed # loop through current window's panes while zoomed
bind -r "'" select-pane -t .+1 \; resize-pane -Z bind -r "'" select-pane -t .+1 \; resize-pane -Z
bind -r ";" select-pane -t .-1 \; resize-pane -Z bind -r ";" select-pane -t .+1 \; resize-pane -Z \; copy-mode
bind-key C-a set-option -g prefix C-a bind-key C-a set-option -g prefix C-a
# No delay for escape key press # No delay for escape key press
set -sg escape-time 0 set -sg escape-time 0
run ~/.tmux/plugins/tmux/catppuccin.tmux
# text for the window when inactive
set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_default_text '#{?#{m/r:^(/google/src)?/cloud/,#{pane_current_path}},#{s|^(/google/src)?/cloud/[^/]+/([^/]+).+$|\2|:pane_current_path},#{b:pane_current_path}}'
# text for the window when active
set -g @catppuccin_window_current_fill "number"
set -g @catppuccin_window_current_text '#{?#{m/r:^(/google/src)?/cloud/,#{pane_current_path}},#{s|^(/google/src)?/cloud/[^/]+/([^/]+).+$|\2|:pane_current_path},#{b:pane_current_path}}'
set -g @catppuccin_icon_window_bell "󰂞"
# Make the status line pretty and add some modules
set -g status-right-length 100
set -g status-left-length 100
set -g status-left ""
set -g status-right "#{E:@catppuccin_status_application}"
set -agF status-right "#{E:@catppuccin_status_cpu}"
set -ag status-right "#{E:@catppuccin_status_session}"
set -ag status-right "#{E:@catppuccin_status_uptime}"
set -agF status-right "#{E:@catppuccin_status_battery}"
# List of plugins # List of plugins
set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible' set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank' set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'christoomey/vim-tmux-navigator' set -g @plugin 'christoomey/vim-tmux-navigator'
set -g @plugin 'tmux-plugins/tmux-cpu' set -g @plugin 'tmux-plugins/tmux-cpu'
set -g @plugin 'xamut/tmux-weather'
set -g @plugin 'tmux-plugins/tmux-battery' set -g @plugin 'tmux-plugins/tmux-battery'
set -g @plugin 'tmux-plugins/tmux-cowboy' # Kill process in pane w/ prefix+* set -g @plugin 'tmux-plugins/tmux-cowboy' # Kill process in pane w/ prefix+*
set -g @plugin 'catppuccin/tmux' set -g @plugin 'catppuccin/tmux'
set -g @plugin 'tmux-plugins/tmux-resurrect' set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum' set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
set -g @plugin 'catppuccin/tmux#v2.1.2'
set -g @continuum-restore 'on' set -g @continuum-restore 'on'
set -g @resurrect-dir '$HOME/.tmux/resurrect' set -g @resurrect-dir '$HOME/.tmux/resurrect'

View File

@ -1,83 +0,0 @@
######################
### DESIGN CHANGES ###
######################
# Variables
left_sep=''
right_sep=''
left_alt_sep=''
right_alt_sep=''
set -g @cpu_low_icon "=" # icon when cpu is low
set -g @cpu_medium_icon "≡" # icon when cpu is medium
set -g @cpu_high_icon "≣" # icon when cpu is high
set -g @ram_low_fg_color "#[fg=#000000]" # foreground color when ram is low
set -g @ram_medium_fg_color "#[fg=#000000]" # foreground color when ram is medium
set -g @ram_high_fg_color "#[fg=#000000]" # foreground color when ram is high
set -g @cpu_low_fg_color "#[fg=#000000]" # foreground color when cpu is low
set -g @cpu_medium_fg_color "#[fg=#000000]" # foreground color when cpu is medium
set -g @cpu_high_fg_color "#[fg=#000000]" # foreground color when cpu is high
set -g @cpu_low_bg_color "#[bg=green]" # background color when cpu is low
set -g @cpu_medium_bg_color "#[bg=yellow]" # background color when cpu is medium
set -g @cpu_high_bg_color "#[bg=red]" # background color when cpu is high
# set -g @cpu_low_fg_color "#[fg=#83bd68]"
# set -g @cpu_medium_fg_color "#[fg=#f0c674]"
# set -g @cpu_high_fg_color "#[fg=#cc6666]"
# panes
## Status Basr
set -g status-position bottom
set -g status-style bg=colour234,fg=colour238,dim
set -g status-left-length 20
set -g status-left ''
set -g status-interval 2
# Messages
set -g message-style bold,fg=colour232,bg=colour81
# Window Mode
# Window Status
set -g status-style fg=colour137,bg=colour234,dim
set-option -g visual-activity off
set-option -g visual-bell off
set-option -g visual-silence off
set-window-option -g monitor-activity off
set-option -g bell-action none
# Modes
setw -g clock-mode-colour colour135
setw -g mode-style bg=colour6,fg=colour0,bold,fg=colour46,bg=colour238
# Panes
setw -g clock-mode-colour cyan
set -g mode-style bg=brightcyan,fg=black
set -g message-style bg=brightblack,fg=cyan
set -g message-command-style bg=brightblack,fg=cyan
set -g status-style fg=white,bg=default
set -g status-left '#{?pane_synchronized, ¤ ,}#{?window_zoomed_flag, ↕ ,}'
set -g status-right "#{cpu_bg_color}#{cpu_fg_color} CPU:#{cpu_percentage} #{fg=black}$right_alt_sep#{ram_fg_color}#{ram_bg_color} RAM:#{ram_percentage} #{ram_bg_color} #[fg=black]$right_sep#[fg=default]#[bg=default] #H"
set -g status-right-length 55
set -g pane-border-style fg=brightblack,bg=default
set -g pane-active-border-style fg=colour104,bg=default
set-window-option -g window-status-style fg=colour104,bg=default
set-window-option -g window-status-current-style fg=colour147,bg=default
set-window-option -g window-status-activity-style bg=default,fg=yellow
set-window-option -g window-status-separator " #[fg=colour104]#[bg=default]$left_alt_sep "
# Custom styling, http://www.hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/

View File

@ -0,0 +1 @@
*.swp

View File

@ -106,7 +106,11 @@ upower_battery_remaining_time() {
} }
acpi_battery_remaining_time() { acpi_battery_remaining_time() {
acpi -b | grep -m 1 -Eo "[0-9]+:[0-9]+:[0-9]+" regex="[0-9]+:[0-9]+"
if ! $short; then
regex="$regex:[0-9]+"
fi
acpi -b | grep -m 1 -Eo "$regex"
} }
print_battery_remain() { print_battery_remain() {

Submodule tmux/.tmux/plugins/tmux-continuum updated: 3e4bc35da4...0698e8f4b1

Submodule tmux/.tmux/plugins/tmux-prefix-highlight added at 489a961897

Submodule tmux/.tmux/plugins/tmux-weather added at 28a5fbe75b

1
tmux/.tmux/plugins/tmux/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
custom

View File

@ -15,6 +15,24 @@
<img src="./assets/preview.webp"/> <img src="./assets/preview.webp"/>
</p> </p>
## Content
1. [Themes](#themes)
2. [Installation](#installation)
3. [Overview](#overview)
4. [Configuration options](#configuration-options)
1. [Window](#window)
2. [Window default](#window-default)
3. [Window current](#window-current)
4. [Status](#status)
5. [Customizing modules](#customizing-modules)
6. [Battery module](#battery-module)
5. [Create a custom module](#create-a-custom-module)
6. [Configuration Examples](#configuration-examples)
1. [Config 1](#config-1)
2. [Config 2](#config-2)
3. [Config 3](#config-3)
## Themes ## Themes
- 🌻 [Latte](./catppuccin-latte.tmuxtheme) - 🌻 [Latte](./catppuccin-latte.tmuxtheme)
@ -22,7 +40,10 @@
- 🌺 [Macchiato](./catppuccin-macchiato.tmuxtheme) - 🌺 [Macchiato](./catppuccin-macchiato.tmuxtheme)
- 🌿 [Mocha](./catppuccin-mocha.tmuxtheme) - 🌿 [Mocha](./catppuccin-mocha.tmuxtheme)
## Usage ## Installation
In order to have the icons displayed correctly please use / update your favorite [patched font](https://www.nerdfonts.com/font-downloads).
If you do not have a patched font installed, you can override or remove any icon. Check the documentation bellow on the options available.
### TPM ### TPM
@ -46,13 +67,312 @@ set -g @catppuccin_flavour 'latte' # or frappe, macchiato, mocha
1. Copy your desired theme's configuration contents into your Tmux config (usually stored at `~/.tmux.conf`) 1. Copy your desired theme's configuration contents into your Tmux config (usually stored at `~/.tmux.conf`)
2. Reload Tmux by either restarting the session or reloading it with `tmux source-file ~/.tmux.conf` 2. Reload Tmux by either restarting the session or reloading it with `tmux source-file ~/.tmux.conf`
## Overview
![Default](./assets/overview.png)
This is a diagram on how the theme is split between it's components.
## Configuration options
All flavours support certain levels of customization that match our [Catppuccin
Style Guide][style-guide]. To add these customizations, add any of the following
options to your Tmux configuration.
### Window
#### Set the window left separator:
```sh
set -g @catppuccin_window_left_separator "█"
```
#### Set the window middle separator:
```sh
set -g @catppuccin_window_middle_separator "█"
```
#### Set the window right separator:
```sh
set -g @catppuccin_window_right_separator "█"
```
#### Position the number:
```sh
set -g @catppuccin_window_number_position "left"
```
Values:
- left - the number will be on the left part of the window
- right - the number will be on the right part of the window
#### Enable window status:
```sh
set -g @catppuccin_window_status_enable "yes"
```
Values:
- yes - this will enable the window status part
- no - this will disable the window status part
#### Enable window status icons instead of text:
```sh
set -g @catppuccin_window_status_icon_enable "yes"
```
Values:
- yes - this will replace the windows status text with icons
- no - this will keep the windows status in text format
#### Override windows status icons
```sh
set -g @catppuccin_icon_window_last "󰖰"
set -g @catppuccin_icon_window_current "󰖯"
set -g @catppuccin_icon_window_zoom "󰁌"
set -g @catppuccin_icon_window_mark "󰃀"
set -g @catppuccin_icon_window_silent "󰂛"
set -g @catppuccin_icon_window_activity "󰖲"
set -g @catppuccin_icon_window_bell "󰂞"
```
### Window default
#### Set the window default color fill:
```sh
set -g @catppuccin_window_default_fill "number"
```
Values:
- number - only the number of the window part will have color
- all - the entire window part will have the same color
- none - the entire window part will have no color
#### Override the window default text:
```sh
set -g @catppuccin_window_default_text "#{b:pane_current_path}" # use "#W" for application instead of directory
```
### Window current
#### Set the window current color fill:
```sh
set -g @catppuccin_window_current_fill "number"
```
Values:
- number - only the number of the window part will have color
- all - the entire window part will have the same color
- none - the entire window part will have no color
#### Override the window current text:
```sh
set -g @catppuccin_window_current_text "#{b:pane_current_path}" # use "#W" for application instead of directory
```
#### Set the current directory format
```sh
set -g @catppuccin_window_current_format_directory_text "#{b:pane_current_path}"
```
Use this to overide the way the current directory is displayed.
#### Set the directory format
```sh
set -g @catppuccin_window_format_directory_text "#{b:pane_current_path}"
```
Use this to overide the way the directory is displayed.
### Status
#### Set the status module left separator:
```sh
set -g @catppuccin_status_left_separator ""
```
#### Set the status module right separator:
```sh
set -g @catppuccin_status_right_separator "█"
```
#### Set the status module right separator inverse:
```sh
set -g @catppuccin_status_right_separator_inverse "no"
```
Values:
- yes - the colors will be inverted for the right separator
- no - the colors will not be inverted for the right separator
#### Set the status connect separator:
```sh
set -g @catppuccin_status_connect_separator "yes"
```
Values:
- yes - the background color of the separator will not blend in with the brackground color of tmux
- no - the background color of the separator will blend in with the brackground color of tmux
#### Set the status module color fill:
```sh
set -g @catppuccin_status_fill "icon"
```
Values:
- icon - only the icon of the module will have color
- all - the entire module will have the same color
#### Set the module list
```sh
set -g @catppuccin_status_modules_right "application session"
set -g @catppuccin_status_modules_left ""
```
Provide a list of modules and the order in which you want them to appear in the status.
Available modules:
- application - display the current window running application
- directory - display the basename of the current window path
- session - display the number of tmux sessions running
- user - display the username
- host - display the hostname
- date_time - display the date and time
- [battery](#battery-module) - display the battery
### Customizing modules
Every module (except the module "session") supports the following overrides:
#### Override the specific module icon
```sh
set -g @catppuccin_[module_name]_icon "icon"
```
#### Override the specific module color
```sh
set -g @catppuccin_[module_name]_color "color"
```
#### Override the specific module text
```sh
set -g @catppuccin_[module_name]_text "text"
```
#### Removing a specific module option
```sh
set -g @catppuccin_[module_name]_[option] "null"
```
This is for the situation where you want to remove the icon from a module.
Ex:
```sh
set -g @catppuccin_date_time_icon "null"
```
### Battery module
#### Requirements
This module depends on [tmux-battery](https://github.com/tmux-plugins/tmux-battery/tree/master).
#### Install
The prefered way to install tmux-battery is using [TPM](https://github.com/tmux-plugins/tpm).
#### Configure
Load tmux-battery after you load catppuccin.
```sh
set -g @plugin 'catppuccin/tmux'
...
set -g @plugin 'tmux-plugins/tmux-battery'
```
Add the battery module to the status modules list.
```sh
set -g @catppuccin_status_modules_right "... battery ..."
```
## Create a custom module
It is possible to add a new custom module or overrite any of the existing modules.
Look into custom/README.md for more details.
Any file added to the custom folder will be preserved when updating catppuccin.
## Configuration Examples
Below are provided a few configurations as examples or starting points.
Note:
When switching between configurations run:
```sh
tmux kill-server
```
In order to kill the tmux server and clear all global variables.
### Config 1
![Default](./assets/config1.png)
```sh
set -g @catppuccin_window_right_separator "█ "
set -g @catppuccin_window_number_position "right"
set -g @catppuccin_window_middle_separator " | "
set -g @catppuccin_window_default_fill "none"
set -g @catppuccin_window_current_fill "all"
set -g @catppuccin_status_modules_right "application session user host date_time"
set -g @catppuccin_status_left_separator "█"
set -g @catppuccin_status_right_separator "█"
set -g @catppuccin_date_time_text "%Y-%m-%d %H:%M:%S"
```
### Config 2
![Default](./assets/config2.png)
```sh
set -g @catppuccin_window_left_separator "█"
set -g @catppuccin_window_right_separator "█ "
set -g @catppuccin_window_number_position "right"
set -g @catppuccin_window_middle_separator " █"
set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_current_fill "number"
set -g @catppuccin_window_current_text "#{pane_current_path}"
set -g @catppuccin_status_modules_right "application session date_time"
set -g @catppuccin_status_left_separator ""
set -g @catppuccin_status_right_separator " "
set -g @catppuccin_status_right_separator_inverse "yes"
set -g @catppuccin_status_fill "all"
set -g @catppuccin_status_connect_separator "no"
```
### Config 3
![Default](./assets/config3.png)
```sh
set -g @catppuccin_window_left_separator ""
set -g @catppuccin_window_right_separator " "
set -g @catppuccin_window_middle_separator " █"
set -g @catppuccin_window_number_position "right"
set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_default_text "#W"
set -g @catppuccin_window_current_fill "number"
set -g @catppuccin_window_current_text "#W"
set -g @catppuccin_status_modules_right "directory user host session"
set -g @catppuccin_status_left_separator " "
set -g @catppuccin_status_right_separator ""
set -g @catppuccin_status_right_separator_inverse "no"
set -g @catppuccin_status_fill "icon"
set -g @catppuccin_status_connect_separator "no"
set -g @catppuccin_directory_text "#{pane_current_path}"
```
[style-guide]: https://github.com/catppuccin/catppuccin/blob/main/docs/style-guide.md
## 💝 Thanks to ## 💝 Thanks to
- [Pocco81](https://github.com/catppuccin) - [Pocco81](https://github.com/catppuccin)
- [vinnyA3](https://github.com/vinnyA3) - [vinnyA3](https://github.com/vinnyA3)
- [rogeruiz](https://github.com/rogeruiz)
&nbsp; &nbsp;
<p align="center"><img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/footers/gray0_ctp_on_line.svg?sanitize=true" /></p> <p align="center"><img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/footers/gray0_ctp_on_line.svg?sanitize=true" /></p>
<p align="center">Copyright &copy; 2021-present <a href="https://github.com/catppuccin" target="_blank">Catppuccin Org</a> <p align="center">Copyright &copy; 2021-present <a href="https://github.com/catppuccin" target="_blank">Catppuccin Org</a>
<p align="center"><a href="https://github.com/catppuccin/catppuccin/blob/main/LICENSE"><img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&logoColor=d9e0ee&colorA=363a4f&colorB=b7bdf8"/></a></p> <p align="center"><a href="https://github.com/catppuccin/catppuccin/blob/main/LICENSE"><img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&logoColor=d9e0ee&colorA=363a4f&colorB=b7bdf8"/></a></p>

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

54
tmux/.tmux/plugins/tmux/catppuccin-frappe.tmuxtheme Executable file → Normal file
View File

@ -1,5 +1,3 @@
#!/usr/bin/env bash
# NOTE: you can use vars with $<var> and ${<var>} as long as the str is double quoted: "" # NOTE: you can use vars with $<var> and ${<var>} as long as the str is double quoted: ""
# WARNING: hex colors can't contain capital letters # WARNING: hex colors can't contain capital letters
@ -17,55 +15,3 @@ thm_yellow="#e5c890"
thm_blue="#8caaee" thm_blue="#8caaee"
thm_orange="#ef9f76" thm_orange="#ef9f76"
thm_black4="#626880" thm_black4="#626880"
# ----------------------------=== Theme ===--------------------------
# utils
set() {
local option=$1
local value=$2
tmux set-option -gq "$option" "$value"
}
setw() {
local option=$1
local value=$2
tmux set-window-option -gq "$option" "$value"
}
# status
set status "on"
set status-bg "${thm_bg}"
set status-justify "left"
set status-left-length "100"
set status-right-length "100"
# messages
set message-style "fg=${thm_cyan},bg=${thm_gray},align=centre"
set message-command-style "fg=${thm_cyan},bg=${thm_gray},align=centre"
# panes
set pane-border-style "fg=${thm_gray}"
set pane-active-border-style "fg=${thm_blue}"
# windows
setw window-status-activity-style "fg=${thm_fg},bg=${thm_bg},none"
setw window-status-separator ""
setw window-status-style "fg=${thm_fg},bg=${thm_bg},none"
# --------=== Statusline
set status-left ""
set status-right "#[fg=$thm_pink,bg=$thm_bg,nobold,nounderscore,noitalics]#[fg=$thm_bg,bg=$thm_pink,nobold,nounderscore,noitalics] #[fg=$thm_fg,bg=$thm_gray] #W #{?client_prefix,#[fg=$thm_red],#[fg=$thm_green]}#[bg=$thm_gray]#{?client_prefix,#[bg=$thm_red],#[bg=$thm_green]}#[fg=$thm_bg] #[fg=$thm_fg,bg=$thm_gray] #S "
# current_dir
setw window-status-format "#[fg=$thm_bg,bg=$thm_blue] #I #[fg=$thm_fg,bg=$thm_gray] #{b:pane_current_path} "
setw window-status-current-format "#[fg=$thm_bg,bg=$thm_orange] #I #[fg=$thm_fg,bg=$thm_bg] #{b:pane_current_path} "
# parent_dir/current_dir
# setw window-status-format "#[fg=colour232,bg=colour111] #I #[fg=colour222,bg=colour235] #(echo '#{pane_current_path}' | rev | cut -d'/' -f-2 | rev) "
# setw window-status-current-format "#[fg=colour232,bg=colour208] #I #[fg=colour255,bg=colour237] #(echo '#{pane_current_path}' | rev | cut -d'/' -f-2 | rev) "
# --------=== Modes
setw clock-mode-colour "${thm_blue}"
setw mode-style "fg=${thm_pink} bg=${thm_black4} bold"

54
tmux/.tmux/plugins/tmux/catppuccin-latte.tmuxtheme Executable file → Normal file
View File

@ -1,5 +1,3 @@
#!/usr/bin/env bash
# NOTE: you can use vars with $<var> and ${<var>} as long as the str is double quoted: "" # NOTE: you can use vars with $<var> and ${<var>} as long as the str is double quoted: ""
# WARNING: hex colors can't contain capital letters # WARNING: hex colors can't contain capital letters
@ -17,55 +15,3 @@ thm_yellow="#df8e1d"
thm_blue="#1e66f5" thm_blue="#1e66f5"
thm_orange="#fe640b" thm_orange="#fe640b"
thm_black4="#acb0be" thm_black4="#acb0be"
# ----------------------------=== Theme ===--------------------------
# utils
set() {
local option=$1
local value=$2
tmux set-option -gq "$option" "$value"
}
setw() {
local option=$1
local value=$2
tmux set-window-option -gq "$option" "$value"
}
# status
set status "on"
set status-bg "${thm_bg}"
set status-justify "left"
set status-left-length "100"
set status-right-length "100"
# messages
set message-style "fg=${thm_cyan},bg=${thm_gray},align=centre"
set message-command-style "fg=${thm_cyan},bg=${thm_gray},align=centre"
# panes
set pane-border-style "fg=${thm_gray}"
set pane-active-border-style "fg=${thm_blue}"
# windows
setw window-status-activity-style "fg=${thm_fg},bg=${thm_bg},none"
setw window-status-separator ""
setw window-status-style "fg=${thm_fg},bg=${thm_bg},none"
# --------=== Statusline
set status-left ""
set status-right "#[fg=$thm_pink,bg=$thm_bg,nobold,nounderscore,noitalics]#[fg=$thm_bg,bg=$thm_pink,nobold,nounderscore,noitalics] #[fg=$thm_fg,bg=$thm_gray] #W #{?client_prefix,#[fg=$thm_red],#[fg=$thm_green]}#[bg=$thm_gray]#{?client_prefix,#[bg=$thm_red],#[bg=$thm_green]}#[fg=$thm_bg] #[fg=$thm_fg,bg=$thm_gray] #S "
# current_dir
setw window-status-format "#[fg=$thm_bg,bg=$thm_blue] #I #[fg=$thm_fg,bg=$thm_gray] #{b:pane_current_path} "
setw window-status-current-format "#[fg=$thm_bg,bg=$thm_orange] #I #[fg=$thm_fg,bg=$thm_bg] #{b:pane_current_path} "
# parent_dir/current_dir
# setw window-status-format "#[fg=colour232,bg=colour111] #I #[fg=colour222,bg=colour235] #(echo '#{pane_current_path}' | rev | cut -d'/' -f-2 | rev) "
# setw window-status-current-format "#[fg=colour232,bg=colour208] #I #[fg=colour255,bg=colour237] #(echo '#{pane_current_path}' | rev | cut -d'/' -f-2 | rev) "
# --------=== Modes
setw clock-mode-colour "${thm_blue}"
setw mode-style "fg=${thm_pink} bg=${thm_black4} bold"

54
tmux/.tmux/plugins/tmux/catppuccin-macchiato.tmuxtheme Executable file → Normal file
View File

@ -1,5 +1,3 @@
#!/usr/bin/env bash
# NOTE: you can use vars with $<var> and ${<var>} as long as the str is double quoted: "" # NOTE: you can use vars with $<var> and ${<var>} as long as the str is double quoted: ""
# WARNING: hex colors can't contain capital letters # WARNING: hex colors can't contain capital letters
@ -17,55 +15,3 @@ thm_yellow="#eed49f"
thm_blue="#8aadf4" thm_blue="#8aadf4"
thm_orange="#f5a97f" thm_orange="#f5a97f"
thm_black4="#5b6078" thm_black4="#5b6078"
# ----------------------------=== Theme ===--------------------------
# utils
set() {
local option=$1
local value=$2
tmux set-option -gq "$option" "$value"
}
setw() {
local option=$1
local value=$2
tmux set-window-option -gq "$option" "$value"
}
# status
set status "on"
set status-bg "${thm_bg}"
set status-justify "left"
set status-left-length "100"
set status-right-length "100"
# messages
set message-style "fg=${thm_cyan},bg=${thm_gray},align=centre"
set message-command-style "fg=${thm_cyan},bg=${thm_gray},align=centre"
# panes
set pane-border-style "fg=${thm_gray}"
set pane-active-border-style "fg=${thm_blue}"
# windows
setw window-status-activity-style "fg=${thm_fg},bg=${thm_bg},none"
setw window-status-separator ""
setw window-status-style "fg=${thm_fg},bg=${thm_bg},none"
# --------=== Statusline
set status-left ""
set status-right "#[fg=$thm_pink,bg=$thm_bg,nobold,nounderscore,noitalics]#[fg=$thm_bg,bg=$thm_pink,nobold,nounderscore,noitalics] #[fg=$thm_fg,bg=$thm_gray] #W #{?client_prefix,#[fg=$thm_red],#[fg=$thm_green]}#[bg=$thm_gray]#{?client_prefix,#[bg=$thm_red],#[bg=$thm_green]}#[fg=$thm_bg] #[fg=$thm_fg,bg=$thm_gray] #S "
# current_dir
setw window-status-format "#[fg=$thm_bg,bg=$thm_blue] #I #[fg=$thm_fg,bg=$thm_gray] #W "
setw window-status-current-format "#[fg=$thm_bg,bg=$thm_orange] #I #[fg=$thm_fg,bg=$thm_bg] #W "
# parent_dir/current_dir
# setw window-status-format "#[fg=colour232,bg=colour111] #I #[fg=colour222,bg=colour235] #(echo '#{pane_current_path}' | rev | cut -d'/' -f-2 | rev) "
# setw window-status-current-format "#[fg=colour232,bg=colour208] #I #[fg=colour255,bg=colour237] #(echo '#{pane_current_path}' | rev | cut -d'/' -f-2 | rev) "
# --------=== Modes
setw clock-mode-colour "${thm_blue}"
setw mode-style "fg=${thm_pink} bg=${thm_black4} bold"

54
tmux/.tmux/plugins/tmux/catppuccin-mocha.tmuxtheme Executable file → Normal file
View File

@ -1,5 +1,3 @@
#!/usr/bin/env bash
# NOTE: you can use vars with $<var> and ${<var>} as long as the str is double quoted: "" # NOTE: you can use vars with $<var> and ${<var>} as long as the str is double quoted: ""
# WARNING: hex colors can't contain capital letters # WARNING: hex colors can't contain capital letters
@ -17,55 +15,3 @@ thm_yellow="#f9e2af"
thm_blue="#89b4fa" thm_blue="#89b4fa"
thm_orange="#fab387" thm_orange="#fab387"
thm_black4="#585b70" thm_black4="#585b70"
# ----------------------------=== Theme ===--------------------------
# utils
set() {
local option=$1
local value=$2
tmux set-option -gq "$option" "$value"
}
setw() {
local option=$1
local value=$2
tmux set-window-option -gq "$option" "$value"
}
# status
set status "on"
set status-bg "${thm_bg}"
set status-justify "left"
set status-left-length "100"
set status-right-length "100"
# messages
set message-style "fg=${thm_cyan},bg=${thm_gray},align=centre"
set message-command-style "fg=${thm_cyan},bg=${thm_gray},align=centre"
# panes
set pane-border-style "fg=${thm_gray}"
set pane-active-border-style "fg=${thm_blue}"
# windows
setw window-status-activity-style "fg=${thm_fg},bg=${thm_bg},none"
setw window-status-separator ""
setw window-status-style "fg=${thm_fg},bg=${thm_bg},none"
# --------=== Statusline
set status-left ""
set status-right "#[fg=$thm_pink,bg=$thm_bg,nobold,nounderscore,noitalics]#[fg=$thm_bg,bg=$thm_pink,nobold,nounderscore,noitalics] #[fg=$thm_fg,bg=$thm_gray] #W #{?client_prefix,#[fg=$thm_red],#[fg=$thm_green]}#[bg=$thm_gray]#{?client_prefix,#[bg=$thm_red],#[bg=$thm_green]}#[fg=$thm_bg] #[fg=$thm_fg,bg=$thm_gray] #S "
# current_dir
setw window-status-format "#[fg=$thm_bg,bg=$thm_blue] #I #[fg=$thm_fg,bg=$thm_gray] #{b:pane_current_path} "
setw window-status-current-format "#[fg=$thm_bg,bg=$thm_orange] #I #[fg=$thm_fg,bg=$thm_bg] #{b:pane_current_path} "
# parent_dir/current_dir
# setw window-status-format "#[fg=colour232,bg=colour111] #I #[fg=colour222,bg=colour235] #(echo '#{pane_current_path}' | rev | cut -d'/' -f-2 | rev) "
# setw window-status-current-format "#[fg=colour232,bg=colour208] #I #[fg=colour255,bg=colour237] #(echo '#{pane_current_path}' | rev | cut -d'/' -f-2 | rev) "
# --------=== Modes
setw clock-mode-colour "${thm_blue}"
setw mode-style "fg=${thm_pink} bg=${thm_black4} bold"

View File

@ -1,23 +1,332 @@
#!/usr/bin/env bash #!/usr/bin/env bash
CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" PLUGIN_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
get-tmux-option() { get_tmux_option() {
local option value default local option value default
option="$1" option="$1"
default="$2" default="$2"
value="$(tmux show-option -gqv "$option")" value=$(tmux show-option -gqv "$option")
if [ -n "$value" ]
then
if [ "$value" = "null" ]
then
echo ""
else
echo "$value"
fi
if [ -n "$value" ]; then
echo "$value"
else else
echo "$default" echo "$default"
fi fi
} }
set() {
local option=$1
local value=$2
tmux_commands+=(set-option -gq "$option" "$value" ";")
}
setw() {
local option=$1
local value=$2
tmux_commands+=(set-window-option -gq "$option" "$value" ";")
}
build_window_icon() {
local window_status_icon_enable=$(get_tmux_option "@catppuccin_window_status_icon_enable" "yes")
local custom_icon_window_last=$(get_tmux_option "@catppuccin_icon_window_last" "󰖰")
local custom_icon_window_current=$(get_tmux_option "@catppuccin_icon_window_current" "󰖯")
local custom_icon_window_zoom=$(get_tmux_option "@catppuccin_icon_window_zoom" "󰁌")
local custom_icon_window_mark=$(get_tmux_option "@catppuccin_icon_window_mark" "󰃀")
local custom_icon_window_silent=$(get_tmux_option "@catppuccin_icon_window_silent" "󰂛")
local custom_icon_window_activity=$(get_tmux_option "@catppuccin_icon_window_activity" "󰖲")
local custom_icon_window_bell=$(get_tmux_option "@catppuccin_icon_window_bell" "󰂞")
if [ "$window_status_icon_enable" = "yes" ]
then
# #!~[*-]MZ
local show_window_status="#{?window_activity_flag,${custom_icon_window_activity},}#{?window_bell_flag,${custom_icon_window_bell},}#{?window_silence_flag,${custom_icon_window_silent},}#{?window_active,${custom_icon_window_current},}#{?window_last_flag,${custom_icon_window_last},}#{?window_marked_flag,${custom_icon_window_mark},}#{?window_zoomed_flag,${custom_icon_window_zoom},}"
fi
if [ "$window_status_icon_enable" = "no" ]
then
local show_window_status="#F"
fi
echo "$show_window_status"
}
build_window_format() {
local number=$1
local color=$2
local background=$3
local text=$4
local fill=$5
if [ "$window_status_enable" = "yes" ]
then
local icon="$( build_window_icon )"
text="$text $icon"
fi
if [ "$fill" = "none" ]
then
local show_left_separator="#[fg=$thm_gray,bg=$thm_bg,nobold,nounderscore,noitalics]$window_left_separator"
local show_number="#[fg=$thm_fg,bg=$thm_gray]$number"
local show_middle_separator="#[fg=$thm_fg,bg=$thm_gray,nobold,nounderscore,noitalics]$window_middle_separator"
local show_text="#[fg=$thm_fg,bg=$thm_gray]$text"
local show_right_separator="#[fg=$thm_gray,bg=$thm_bg]$window_right_separator"
fi
if [ "$fill" = "all" ]
then
local show_left_separator="#[fg=$color,bg=$thm_bg,nobold,nounderscore,noitalics]$window_left_separator"
local show_number="#[fg=$background,bg=$color]$number"
local show_middle_separator="#[fg=$background,bg=$color,nobold,nounderscore,noitalics]$window_middle_separator"
local show_text="#[fg=$background,bg=$color]$text"
local show_right_separator="#[fg=$color,bg=$thm_bg]$window_right_separator"
fi
if [ "$fill" = "number" ]
then
local show_number="#[fg=$background,bg=$color]$number"
local show_middle_separator="#[fg=$color,bg=$background,nobold,nounderscore,noitalics]$window_middle_separator"
local show_text="#[fg=$thm_fg,bg=$background]$text"
if [ "$window_number_position" = "right" ]
then
local show_left_separator="#[fg=$background,bg=$thm_bg,nobold,nounderscore,noitalics]$window_left_separator"
local show_right_separator="#[fg=$color,bg=$thm_bg]$window_right_separator"
fi
if [ "$window_number_position" = "left" ]
then
local show_right_separator="#[fg=$background,bg=$thm_bg,nobold,nounderscore,noitalics]$window_right_separator"
local show_left_separator="#[fg=$color,bg=$thm_bg]$window_left_separator"
fi
fi
local final_window_format
if [ "$window_number_position" = "right" ]
then
final_window_format="$show_left_separator$show_text$show_middle_separator$show_number$show_right_separator"
fi
if [ "$window_number_position" = "left" ]
then
final_window_format="$show_left_separator$show_number$show_middle_separator$show_text$show_right_separator"
fi
echo "$final_window_format"
}
build_status_module() {
local index=$1
local icon=$2
local color=$3
local text=$4
if [ "$status_fill" = "icon" ]
then
local show_left_separator="#[fg=$color,bg=$thm_gray,nobold,nounderscore,noitalics]$status_left_separator"
local show_icon="#[fg=$thm_bg,bg=$color,nobold,nounderscore,noitalics]$icon "
local show_text="#[fg=$thm_fg,bg=$thm_gray] $text"
local show_right_separator="#[fg=$thm_gray,bg=$thm_bg,nobold,nounderscore,noitalics]$status_right_separator"
if [ "$status_connect_separator" = "yes" ]
then
local show_left_separator="#[fg=$color,bg=$thm_gray,nobold,nounderscore,noitalics]$status_left_separator"
local show_right_separator="#[fg=$thm_gray,bg=$thm_gray,nobold,nounderscore,noitalics]$status_right_separator"
else
local show_left_separator="#[fg=$color,bg=$thm_bg,nobold,nounderscore,noitalics]$status_left_separator"
local show_right_separator="#[fg=$thm_gray,bg=$thm_bg,nobold,nounderscore,noitalics]$status_right_separator"
fi
fi
if [ "$status_fill" = "all" ]
then
local show_left_separator="#[fg=$color,bg=$thm_gray,nobold,nounderscore,noitalics]$status_left_separator"
local show_icon="#[fg=$thm_bg,bg=$color,nobold,nounderscore,noitalics]$icon "
local show_text="#[fg=$thm_bg,bg=$color]$text"
local show_right_separator="#[fg=$color,bg=$thm_gray,nobold,nounderscore,noitalics]$status_right_separator"
if [ "$status_connect_separator" = "yes" ]
then
local show_left_separator="#[fg=$color,nobold,nounderscore,noitalics]$status_left_separator"
local show_right_separator="#[fg=$color,bg=$color,nobold,nounderscore,noitalics]$status_right_separator"
else
local show_left_separator="#[fg=$color,bg=$thm_bg,nobold,nounderscore,noitalics]$status_left_separator"
local show_right_separator="#[fg=$color,bg=$thm_bg,nobold,nounderscore,noitalics]$status_right_separator"
fi
fi
if [ "$status_right_separator_inverse" = "yes" ]
then
if [ "$status_connect_separator" = "yes" ]
then
local show_right_separator="#[fg=$thm_gray,bg=$color,nobold,nounderscore,noitalics]$status_right_separator"
else
local show_right_separator="#[fg=$thm_bg,bg=$color,nobold,nounderscore,noitalics]$status_right_separator"
fi
fi
if [ $(($index)) -eq 0 ]
then
local show_left_separator="#[fg=$color,bg=$thm_bg,nobold,nounderscore,noitalics]$status_left_separator"
fi
echo "$show_left_separator$show_icon$show_text$show_right_separator"
}
load_modules() {
local modules_list=$1
local modules_custom_path=$PLUGIN_DIR/custom
local modules_status_path=$PLUGIN_DIR/status
local modules_window_path=$PLUGIN_DIR/window
local module_index=0;
local module_name
local loaded_modules
local IN=$modules_list
# https://stackoverflow.com/questions/918886/how-do-i-split-a-string-on-a-delimiter-in-bash#15988793
while [ "$IN" != "$iter" ] ;do
# extract the substring from start of string up to delimiter.
iter=${IN%% *}
# delete this first "element" AND next separator, from $IN.
IN="${IN#$iter }"
# Print (or doing anything with) the first "element".
module_name=$iter
local module_path=$modules_custom_path/$module_name.sh
source $module_path
if [ 0 -eq $? ]
then
loaded_modules="$loaded_modules$( show_$module_name $module_index )"
module_index=$module_index+1
continue
fi
local module_path=$modules_status_path/$module_name.sh
source $module_path
if [ 0 -eq $? ]
then
loaded_modules="$loaded_modules$( show_$module_name $module_index )"
module_index=$module_index+1
continue
fi
local module_path=$modules_window_path/$module_name.sh
source $module_path
if [ 0 -eq $? ]
then
loaded_modules="$loaded_modules$( show_$module_name $module_index )"
module_index=$module_index+1
continue
fi
done
echo "$loaded_modules"
}
main() { main() {
local theme local theme
theme="$(get-tmux-option "@catppuccin_flavour" "mocha")" theme="$(get_tmux_option "@catppuccin_flavour" "mocha")"
tmux run -b "$CURRENT_DIR/catppuccin-${theme}.tmuxtheme"
# Aggregate all commands in one array
local tmux_commands=()
# NOTE: Pulling in the selected theme by the theme that's being set as local
# variables.
# shellcheck source=catppuccin-frappe.tmuxtheme
# https://github.com/dylanaraps/pure-sh-bible#parsing-a-keyval-file
while IFS='=' read -r key val; do
# Skip over lines containing comments.
# (Lines starting with '#').
[ "${key##\#*}" ] || continue
# '$key' stores the key.
# '$val' stores the value.
eval "local $key"="$val"
done < "${PLUGIN_DIR}/catppuccin-${theme}.tmuxtheme"
# status
set status "on"
set status-bg "${thm_bg}"
set status-justify "left"
set status-left-length "100"
set status-right-length "100"
# messages
set message-style "fg=${thm_cyan},bg=${thm_gray},align=centre"
set message-command-style "fg=${thm_cyan},bg=${thm_gray},align=centre"
# panes
set pane-border-style "fg=${thm_gray}"
set pane-active-border-style "fg=${thm_blue}"
# windows
setw window-status-activity-style "fg=${thm_fg},bg=${thm_bg},none"
setw window-status-separator ""
setw window-status-style "fg=${thm_fg},bg=${thm_bg},none"
# --------=== Statusline
local window_left_separator=$(get_tmux_option "@catppuccin_window_left_separator" "█")
local window_right_separator=$(get_tmux_option "@catppuccin_window_right_separator" "█")
local window_middle_separator=$(get_tmux_option "@catppuccin_window_middle_separator" "█ ")
local window_number_position=$(get_tmux_option "@catppuccin_window_number_position" "left") # right, left
local window_status_enable=$(get_tmux_option "@catppuccin_window_status_enable" "no") # right, left
local window_format=$( load_modules "window_default_format")
local window_current_format=$( load_modules "window_current_format")
setw window-status-format "$window_format"
setw window-status-current-format "$window_current_format"
local status_left_separator=$(get_tmux_option "@catppuccin_status_left_separator" "")
local status_right_separator=$(get_tmux_option "@catppuccin_status_right_separator" "█")
local status_right_separator_inverse=$(get_tmux_option "@catppuccin_status_right_separator_inverse" "no")
local status_connect_separator=$(get_tmux_option "@catppuccin_status_connect_separator" "yes")
local status_fill=$(get_tmux_option "@catppuccin_status_fill" "icon")
local status_modules_right=$(get_tmux_option "@catppuccin_status_modules_right" "application session")
local loaded_modules_right=$( load_modules "$status_modules_right")
local status_modules_left=$(get_tmux_option "@catppuccin_status_modules_left" "")
local loaded_modules_left=$( load_modules "$status_modules_left")
set status-left "$loaded_modules_left"
set status-right "$loaded_modules_right"
# --------=== Modes
#
setw clock-mode-colour "${thm_blue}"
setw mode-style "fg=${thm_pink} bg=${thm_black4} bold"
tmux "${tmux_commands[@]}"
} }
main "$@" main "$@"

View File

@ -0,0 +1,10 @@
show_application() {
local index=$1
local icon=$(get_tmux_option "@catppuccin_application_icon" "")
local color=$(get_tmux_option "@catppuccin_application_color" "$thm_pink")
local text=$(get_tmux_option "@catppuccin_application_text" "#W")
local module=$( build_status_module "$index" "$icon" "$color" "$text" )
echo "$module"
}

View File

@ -0,0 +1,23 @@
show_battery() {
tmux set-option -g @batt_icon_charge_tier8 '󰁹'
tmux set-option -g @batt_icon_charge_tier7 '󰂁'
tmux set-option -g @batt_icon_charge_tier6 '󰁿'
tmux set-option -g @batt_icon_charge_tier5 '󰁾'
tmux set-option -g @batt_icon_charge_tier4 '󰁽'
tmux set-option -g @batt_icon_charge_tier3 '󰁼'
tmux set-option -g @batt_icon_charge_tier2 '󰁻'
tmux set-option -g @batt_icon_charge_tier1 '󰁺'
tmux set-option -g @batt_icon_status_charged '󰚥'
tmux set-option -g @batt_icon_status_charging '󰂄'
tmux set-option -g @batt_icon_status_discharging '󰂃'
tmux set-option -g @batt_icon_status_unknown '󰂑'
local index=$1
local icon=$(get_tmux_option "@catppuccin_battery_icon" "#{battery_icon}")
local color=$(get_tmux_option "@catppuccin_battery_color" "$thm_yellow")
local text=$(get_tmux_option "@catppuccin_battery_text" "#{battery_percentage}")
local module=$( build_status_module "$index" "$icon" "$color" "$text" )
echo "$module"
}

View File

@ -0,0 +1,11 @@
show_date_time() {
local index=$1
local icon="$(get_tmux_option "@catppuccin_date_time_icon" "󰃰")"
local color="$(get_tmux_option "@catppuccin_date_time_color" "$thm_blue")"
local text="$(get_tmux_option "@catppuccin_date_time_text" "%Y-%m-%d %H:%M")"
local module=$( build_status_module "$index" "$icon" "$color" "$text" )
echo "$module"
}

View File

@ -0,0 +1,10 @@
show_directory() {
local index=$1
local icon=$(get_tmux_option "@catppuccin_directory_icon" "")
local color=$(get_tmux_option "@catppuccin_directory_color" "$thm_pink")
local text=$(get_tmux_option "@catppuccin_directory_text" "#{b:pane_current_path}")
local module=$( build_status_module "$index" "$icon" "$color" "$text" )
echo "$module"
}

View File

@ -0,0 +1,10 @@
show_host() {
local index=$1
local icon=$(get_tmux_option "@catppuccin_host_icon" "󰒋")
local color=$(get_tmux_option "@catppuccin_host_color" "$thm_magenta")
local text=$(get_tmux_option "@catppuccin_host_text" "#H")
local module=$( build_status_module "$index" "$icon" "$color" "$text" )
echo "$module"
}

View File

@ -0,0 +1,10 @@
show_session() {
local index=$1
local icon=$(get_tmux_option "@catppuccin_session_icon" "")
local color=$(get_tmux_option "@catppuccin_session_color" "#{?client_prefix,$thm_red,$thm_green}")
local text=$(get_tmux_option "@catppuccin_session_text" "#S")
local module=$( build_status_module "$index" "$icon" "$color" "$text" )
echo "$module"
}

View File

@ -0,0 +1,10 @@
show_user() {
local index=$1
local icon=$(get_tmux_option "@catppuccin_user_icon" "")
local color=$(get_tmux_option "@catppuccin_user_color" "$thm_cyan")
local text=$(get_tmux_option "@catppuccin_user_text" "#(whoami)")
local module=$( build_status_module "$index" "$icon" "$color" "$text" )
echo "$module"
}

View File

@ -0,0 +1,11 @@
show_window_current_format() {
local number="#I"
local color="$thm_orange"
local background="$thm_bg"
local text="$(get_tmux_option "@catppuccin_window_current_text" "#{b:pane_current_path}")" # use #W for application instead of directory
local fill="$(get_tmux_option "@catppuccin_window_current_fill" "number")" # number, all, none
local current_window_format=$( build_window_format "$number" "$color" "$background" "$text" "$fill" )
echo "$current_window_format"
}

View File

@ -0,0 +1,11 @@
show_window_default_format() {
local number="#I"
local color="$thm_blue"
local background="$thm_gray"
local text="$(get_tmux_option "@catppuccin_window_default_text" "#{b:pane_current_path}")" # use #W for application instead of directory
local fill="$(get_tmux_option "@catppuccin_window_default_fill" "number")" # number, all, none
local default_window_format=$( build_window_format "$number" "$color" "$background" "$text" "$fill" )
echo "$default_window_format"
}

View File

@ -53,6 +53,31 @@ If you are using Vim 8+, you don't need any plugin manager. Simply clone this re
git clone git@github.com:christoomey/vim-tmux-navigator.git ~/.vim/pack/plugins/start/vim-tmux-navigator git clone git@github.com:christoomey/vim-tmux-navigator.git ~/.vim/pack/plugins/start/vim-tmux-navigator
``` ```
### lazy.nvim
If you are using [lazy.nvim](https://github.com/folke/lazy.nvim). Add the following plugin to your configuration.
```lua
{
"christoomey/vim-tmux-navigator",
cmd = {
"TmuxNavigateLeft",
"TmuxNavigateDown",
"TmuxNavigateUp",
"TmuxNavigateRight",
"TmuxNavigatePrevious",
},
keys = {
{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
{ "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
},
}
```
Then, restart Neovim and lazy.nvim will automatically install the plugin and configure the keybindings.
### tmux ### tmux

View File

@ -6,34 +6,22 @@ windows:
layout: main-horizontal layout: main-horizontal
panes: panes:
- main: - main:
- hgd gmscore
- vim
- other: - other:
- hgd gmscore
- experiments: - experiments:
layout: main-horizontal layout: main-horizontal
panes: panes:
- main: - main:
- hgd experiments
- vim
- other: - other:
- hgd experiments
- critique: - critique:
layout: main-horizontal layout: main-horizontal
panes: panes:
- main: - main:
- hgd google-comments
- vim
- other: - other:
- hgd google-comments
- dotfiles: - dotfiles:
layout: main-horizontal layout: main-horizontal
panes: panes:
- main: - main:
- cd ~/dotfiles
- vim
- other: - other:
- cd ~/dotfiles

View File

@ -1,134 +0,0 @@
{
"$schema": "https://raw.githubusercontent.com/sumneko/vscode-lua/master/setting/schema.json",
"Lua.workspace.checkThirdParty": false,
"Lua.workspace.library": [
"/usr/local/google/home/cnieves/.config/nvim",
"/usr/local/google/home/cnieves/.vim/plugged/vcscommand.vim",
"/usr/local/google/home/cnieves/.vim/plugged/cmp-nvim-ciderlsp",
"/usr/local/google/home/cnieves/.vim/plugged/nvim-lsp-installer",
"/usr/local/google/home/cnieves/.vim/plugged/fzf",
"/usr/local/google/home/cnieves/.vim/plugged/fzf.vim",
"/usr/local/google/home/cnieves/.vim/plugged/ultisnips",
"/usr/local/google/home/cnieves/.vim/plugged/vim-snippets",
"/usr/local/google/home/cnieves/.vim/plugged/vim-ripgrep",
"/usr/share/vim/google/fzf-query",
"/usr/share/vim/google/outline-window",
"/usr/share/vim/google/g4",
"/usr/share/vim/google/relatedfiles",
"/usr/share/vim/google/buganizer",
"/usr/share/vim/google/launchbrowser",
"/usr/share/vim/google/blaze",
"/usr/share/vim/google/gtimporter",
"/usr/share/vim/google/piper",
"/usr/share/vim/google/critique",
"/usr/share/vim/google/googlepaths",
"/usr/share/vim/google/googlespell",
"/usr/share/vim/google/piperlib",
"/usr/share/vim/google/googlestyle",
"/usr/share/vim/google/google-filetypes",
"/usr/share/vim/google/ft-soy",
"/usr/share/vim/google/ft-python",
"/usr/share/vim/google/ft-proto",
"/usr/share/vim/google/ft-kotlin",
"/usr/share/vim/google/ft-javascript",
"/usr/share/vim/google/ft-java",
"/usr/share/vim/google/ft-gss",
"/usr/share/vim/google/ft-go",
"/usr/share/vim/google/ft-gin",
"/usr/share/vim/google/ft-cpp",
"/usr/share/vim/google/ft-clif",
"/usr/share/vim/google/ft-cel",
"/usr/share/vim/google/googlelib",
"/usr/share/vim/google/codefmt-google",
"/usr/share/vim/google/codefmt",
"/usr/share/vim/google/alert",
"/usr/share/vim/google/googler",
"/usr/share/vim/google/compatibility",
"/usr/share/vim/google/logmsgs",
"/usr/local/google/home/cnieves/.local/share/nvim/site",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/LuaSnip",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/MatchTagAlways",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/asyncrun.vim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/auto-session",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/catppuccin",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/cmp-buffer",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/cmp-cmdline",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp-document-symbol",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp-signature-help",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/cmp-nvim-lua",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/cmp-path",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/cmp-under-comparator",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/cmp-vsnip",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/fidget.nvim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/fzf.vim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/git-conflict.nvim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/java-syntax.vim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/kotlin-vim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/lh-brackets",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/lh-dev",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/lh-style",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/lh-tags",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/lh-vim-lib",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/lsp_lines.nvim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/lspkind.nvim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/lualine.nvim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/mkdir.nvim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/nerdcommenter",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/nerdtree",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/nvim-cmp",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/nvim-lightbulb",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/nvim-notify",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/nvim-scrollbar",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/nvim-web-devicons",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/packer.nvim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/plenary.nvim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/registers.nvim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/symbols-outline.nvim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/telescope-codesearch.nvim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/telescope.nvim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/trouble.nvim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-better-whitespace",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-case-convert",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-gitgutter",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-indent-guides",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-nerdtree-syntax-highlight",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-obsession",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-quantum",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-ripgrep",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-signify",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-surround",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-titlecase",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-tmux",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-tmux-focus-events",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-tmux-syntax",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-vsnip",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-windowswap",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vimux",
"/squashfs-root/usr/share/nvim/runtime",
"/squashfs-root/usr/lib/nvim",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/catppuccin/after",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/cmp-buffer/after",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp-document-symbol/after",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp-signature-help/after",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/cmp-nvim-lua/after",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/cmp-path/after",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/cmp-vsnip/after",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/lh-brackets/after",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/lh-vim-lib/after",
"/usr/local/google/home/cnieves/.local/share/nvim/site/pack/packer/start/vim-nerdtree-syntax-highlight/after",
"/usr/local/google/home/cnieves/.vim",
"/usr/share/vim/google/glug",
"/usr/share/vim/google/maktaba",
"/usr/local/google/home/cnieves/.vim/plugged/cmp-nvim-ciderlsp/after",
"/usr/local/google/home/cnieves/.vim/plugged/ultisnips/after",
"/usr/local/google/home/cnieves/.vim/after",
"${3rd}/luassert/library",
"${3rd}/busted/library"
]
}

View File

@ -1,40 +0,0 @@
vim.cmd([[
function s:blazeExec(cmd, targets)
if len(a:targets) == 0
exe VimuxRunCommand("build_target.py " . expand('%:p') . " " . a:cmd)
else
exe VimuxRunCommand(a:cmd . " " . join(a:targets, ' '))
endif
endfunction
function BlazeRun() abort
call <SID>blazeExec("blaze run", blaze#GetTargets())
endfunction
function BlazeBuild() abort
call <SID>blazeExec("blaze build", blaze#GetTargets())
endfunction
function BlazeTest() abort
call <SID>blazeExec("blaze test", blaze#GetTargets())
endfunction
function BlazeTestDebug() abort
call <SID>blazeExec("blaze test --java_debug", blaze#GetTargets())
endfunction
function BuildCleanerFile() abort
exe VimuxRunCommand("build_cleaner " . expand('%'))
endfunction
function UnusedDeps() abort
exe VimuxRunCommand("unused_deps --nouse_build_api --blaze_options='--config=gmscore_tap' " . join(blaze#GetTargets(), ' '))
endfunction
function BuildCleanerTarget() abort
exe VimuxRunCommand("build_cleaner " . join(blaze#GetTargets(), ' '))
endfunction
nnoremap <Leader>bc :call BuildCleanerFile()<cr>
nnoremap <Leader>ud :call UnusedDeps()<cr>
]])

View File

@ -1,18 +1,33 @@
local map = require("utils").map local map = require("utils").map
if vim.env.SSH_TTY or vim.env.SSH_CLIENT or vim.env.SSH_CONNECTION then if vim.fn.hostname() == "goblin" then
vim.g.clipboard = { vim.g.clipboard = {
name = "lemonade", name = "wayland",
copy = { copy = {
["+"] = { "lemonade", "copy" }, ["+"] = { "wl-copy" },
["*"] = { "lemonade", "copy" }, ["*"] = { "wl-copy" },
}, },
paste = { paste = {
["+"] = { "lemonade", "paste" }, ["+"] = { "wl-paste" },
["*"] = { "lemonade", "paste" }, ["*"] = { "wl-paste" },
}, },
cache_enabled = false, cache_enabled = false,
} }
else
if vim.env.SSH_TTY or vim.env.SSH_CLIENT or vim.env.SSH_CONNECTION then
vim.g.clipboard = {
name = "lemonade",
copy = {
["+"] = { "lemonade", "copy" },
["*"] = { "lemonade", "copy" },
},
paste = {
["+"] = { "lemonade", "paste" },
["*"] = { "lemonade", "paste" },
},
cache_enabled = false,
}
end
end end
map("v", "<leader>y", '"+y') map("v", "<leader>y", '"+y')

View File

@ -1,32 +0,0 @@
local map = require("utils").map
local use_google = require("utils").use_google
if use_google() then
map("n", "<leader>tm", ":Telescope citc modified<CR>")
-- [F]ig [S]tatus
map("n", "<leader>fs", [[<cmd>lua require('telescope').extensions.fig.status{}<CR>]])
-- [F]ig [X]l
map("n", "<leader>fx", [[<cmd>lua require('telescope').extensions.fig.xl{}<CR>]])
-- [F]ig [W]hatsout
map("n", "<leader>fw", [[<cmd>lua require('telescope').extensions.fig.status{whatsout=true}<CR>]])
-- [F]ig [A]mend
map("n", "<leader>fa", [[<cmd>Hg amend<CR>]])
-- [F]ig [A]mend
map("n", "<leader>fe", [[<cmd>Hg evolve<CR>]])
-- [F]ig [N]ext
map("n", "<leader>fn", [[<cmd>Hg next<CR>]])
--
-- [F]ig [P]rev
map("n", "<leader>fp", [[<cmd>Hg prev<CR>]])
--
-- [F]ig [U]pload
map("n", "<leader>fu", [[<cmd>Hg upload tree<CR>]])
-- map('n', '<Leader>f', ':Figtree<CR>', { silent = true })
end

View File

@ -1,126 +0,0 @@
local use_google = require("utils").use_google
local M = {}
function M.setup(capabilities)
if use_google() then
local lspconfig = require("lspconfig")
local configs = require("lspconfig.configs")
configs.ciderlsp = {
default_config = {
cmd = {
"/google/bin/releases/cider/ciderlsp/ciderlsp",
"--tooltag=nvim-lsp",
"--forward_sync_responses",
"--debug_relay",
},
offset_encoding = "utf-8",
filetypes = {
"c",
"cpp",
"java",
"kotlin",
"objc",
"proto",
"textproto",
"go",
"python",
"bzl",
"typescript",
},
root_dir = lspconfig.util.root_pattern("BUILD"),
settings = {},
},
}
configs.analysislsp = {
default_config = {
cmd = {
"/google/bin/users/lerm/glint-ale/analysis_lsp/server",
"--lint_on_save=false",
"--max_qps=10",
},
offset_encoding = "utf-8",
filetypes = {
"c",
"cpp",
"java",
"kotlin",
"objc",
"proto",
"textproto",
"go",
"python",
"bzl",
"markdown",
"typescript",
"javascript",
},
root_dir = lspconfig.util.root_pattern("BUILD"),
settings = {},
},
}
local my_on_attach = function(client, bufnr)
require("lualine").refresh()
vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
if vim.lsp.formatexpr then -- Neovim v0.6.0+ only.
vim.api.nvim_buf_set_option(bufnr, "formatexpr", "v:lua.vim.lsp.formatexpr")
end
if vim.lsp.tagfunc then
vim.api.nvim_buf_set_option(bufnr, "tagfunc", "v:lua.vim.lsp.tagfunc")
end
local lsp_status = require("lsp-status")
lsp_status.on_attach(client)
end
local cider_on_attach = function(client, bufnr)
my_on_attach(client, bufnr)
vim.b["is_cider_lsp_attached"] = "no"
end
local cider_lsp_handlers = {
["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, {
underline = true,
}),
}
local notify = require("notify")
cider_lsp_handlers["$/syncResponse"] = function(_, result, ctx)
-- is_cider_lsp_attached has been setup via on_init, but hasn't received
-- sync response yet.
local first_fire = vim.b["is_cider_lsp_attached"] == "no"
vim.b["is_cider_lsp_attached"] = "yes"
if first_fire then
notify("CiderLSP attached", "info", { timeout = 500 })
require("lualine").refresh()
end
end
cider_lsp_handlers["window/showMessage"] = function(_, result, ctx)
local client = vim.lsp.get_client_by_id(ctx.client_id)
local lvl = ({ "ERROR", "WARN", "INFO", "DEBUG" })[result.type]
notify({ result.message }, lvl, {
title = "LSP | " .. client.name,
timeout = 1000,
keep = function()
return lvl == "ERROR" or lvl == "WARN"
end,
})
end
capabilities = require("cmp_nvim_ciderlsp").update_capabilities(capabilities)
capabilities.workspace.codeLens = { refreshSupport = true }
capabilities.workspace.diagnostics = { refreshSupport = true }
lspconfig.ciderlsp.setup({
capabilities = capabilities,
on_attach = cider_on_attach,
handlers = cider_lsp_handlers,
})
lspconfig.analysislsp.setup({
capabilities = capabilities,
})
end
end
return M

View File

@ -1,24 +0,0 @@
--------- NERD Commenter
-- Create default mappings
vim.g.NERDCreateDefaultMappings = 0
-- Add spaces after comment delimiters by default
vim.g.NERDSpaceDelims = 1
-- Use compact syntax for prettified multi-line comments
vim.g.NERDCompactSexyComs = 1
-- Align line-wise comment delimiters flush left instead of following code indentation
vim.g.NERDDefaultAlign = "left"
-- Set a language to use its alternate delimiters by default
vim.g.NERDAltDelims_java = 1
-- Allow commenting and inverting empty lines (useful when commenting a region)
vim.g.NERDCommentEmptyLines = 1
-- Enable trimming of trailing whitespace when uncommenting
vim.g.NERDTrimTrailingWhitespace = 1
--Enable NERDCommenterToggle to check all selected lines is commented or not
vim.g.NERDToggleCheckAllLines = 1

View File

@ -1,75 +0,0 @@
local map = require("utils").map
local api = require("nvim-tree.api")
local function opts(desc)
return { desc = "nvim-tree: " .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
end
function on_attach(bufnr)
vim.keymap.set("n", "O", api.tree.change_root_to_node, opts("CD"))
vim.keymap.set("n", "?", api.tree.toggle_help, opts("Help"))
-- put some default mappings here
vim.keymap.set("n", "<C-e>", api.node.open.replace_tree_buffer, opts("Open: In Place"))
vim.keymap.set("n", "<C-k>", api.node.show_info_popup, opts("Info"))
vim.keymap.set("n", "<C-r>", api.fs.rename_sub, opts("Rename: Omit Filename"))
vim.keymap.set("n", "<C-t>", api.node.open.tab, opts("Open: New Tab"))
vim.keymap.set("n", "<C-v>", api.node.open.vertical, opts("Open: Vertical Split"))
vim.keymap.set("n", "<C-x>", api.node.open.horizontal, opts("Open: Horizontal Split"))
vim.keymap.set("n", "<BS>", api.node.navigate.parent_close, opts("Close Directory"))
vim.keymap.set("n", "<CR>", api.node.open.edit, opts("Open"))
vim.keymap.set("n", "<Tab>", api.node.open.preview, opts("Open Preview"))
vim.keymap.set("n", ">", api.node.navigate.sibling.next, opts("Next Sibling"))
vim.keymap.set("n", "<", api.node.navigate.sibling.prev, opts("Previous Sibling"))
vim.keymap.set("n", ".", api.node.run.cmd, opts("Run Command"))
vim.keymap.set("n", "-", api.tree.change_root_to_parent, opts("Up"))
vim.keymap.set("n", "a", api.fs.create, opts("Create"))
vim.keymap.set("n", "bmv", api.marks.bulk.move, opts("Move Bookmarked"))
vim.keymap.set("n", "B", api.tree.toggle_no_buffer_filter, opts("Toggle No Buffer"))
vim.keymap.set("n", "c", api.fs.copy.node, opts("Copy"))
-- vim.keymap.set('n', 'C', api.tree.toggle_git_clean_filter, opts('Toggle Git Clean'))
-- vim.keymap.set('n', '[c', api.node.navigate.git.prev, opts('Prev Git'))
-- vim.keymap.set('n', ']c', api.node.navigate.git.next, opts('Next Git'))
vim.keymap.set("n", "d", api.fs.remove, opts("Delete"))
vim.keymap.set("n", "D", api.fs.trash, opts("Trash"))
vim.keymap.set("n", "E", api.tree.expand_all, opts("Expand All"))
vim.keymap.set("n", "e", api.fs.rename_basename, opts("Rename: Basename"))
vim.keymap.set("n", "]e", api.node.navigate.diagnostics.next, opts("Next Diagnostic"))
vim.keymap.set("n", "[e", api.node.navigate.diagnostics.prev, opts("Prev Diagnostic"))
vim.keymap.set("n", "F", api.live_filter.clear, opts("Clean Filter"))
vim.keymap.set("n", "f", api.live_filter.start, opts("Filter"))
vim.keymap.set("n", "g?", api.tree.toggle_help, opts("Help"))
vim.keymap.set("n", "gy", api.fs.copy.absolute_path, opts("Copy Absolute Path"))
vim.keymap.set("n", "H", api.tree.toggle_hidden_filter, opts("Toggle Dotfiles"))
vim.keymap.set("n", "I", api.tree.toggle_gitignore_filter, opts("Toggle Git Ignore"))
vim.keymap.set("n", "J", api.node.navigate.sibling.last, opts("Last Sibling"))
vim.keymap.set("n", "K", api.node.navigate.sibling.first, opts("First Sibling"))
vim.keymap.set("n", "m", api.marks.toggle, opts("Toggle Bookmark"))
vim.keymap.set("n", "o", api.node.open.edit, opts("Open"))
-- vim.keymap.set('n', 'O', api.node.open.no_window_picker, opts('Open: No Window Picker'))
vim.keymap.set("n", "p", api.fs.paste, opts("Paste"))
vim.keymap.set("n", "P", api.node.navigate.parent, opts("Parent Directory"))
vim.keymap.set("n", "q", api.tree.close, opts("Close"))
vim.keymap.set("n", "r", api.fs.rename, opts("Rename"))
vim.keymap.set("n", "R", api.tree.reload, opts("Refresh"))
vim.keymap.set("n", "s", api.node.run.system, opts("Run System"))
vim.keymap.set("n", "S", api.tree.search_node, opts("Search"))
vim.keymap.set("n", "U", api.tree.toggle_custom_filter, opts("Toggle Hidden"))
vim.keymap.set("n", "W", api.tree.collapse_all, opts("Collapse"))
vim.keymap.set("n", "x", api.fs.cut, opts("Cut"))
vim.keymap.set("n", "y", api.fs.copy.filename, opts("Copy Name"))
vim.keymap.set("n", "Y", api.fs.copy.relative_path, opts("Copy Relative Path"))
end
require("nvim-tree").setup({
on_attach = on_attach,
update_focused_file = {
enable = true,
update_root = false,
ignore_list = {},
},
})
map("n", "<C-T>", ":NvimTreeToggle<CR>")
map("n", "<C-F>", ":NvimTreeFindFileToggle<CR>")

View File

@ -1,66 +0,0 @@
require("refactoring").setup({})
-- load refactoring Telescope extension
require("telescope").load_extension("refactoring")
-- remap to open the Telescope refactoring menu in visual mode
vim.api.nvim_set_keymap(
"v",
"<leader>rr",
"<Esc><cmd>lua require('telescope').extensions.refactoring.refactors()<CR>",
{ noremap = true }
)
-- Remaps for the refactoring operations currently offered by the plugin
vim.api.nvim_set_keymap(
"v",
"<leader>rx",
[[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function')<CR>]],
{ noremap = true, silent = true, expr = false }
)
vim.api.nvim_set_keymap(
"v",
"<leader>rxf",
[[ <Esc><Cmd>lua require('refactoring').refactor('Extract Function To File')<CR>]],
{ noremap = true, silent = true, expr = false }
)
vim.api.nvim_set_keymap(
"v",
"<leader>rxv",
[[ <Esc><Cmd>lua require('refactoring').refactor('Extract Variable')<CR>]],
{ noremap = true, silent = true, expr = false }
)
vim.api.nvim_set_keymap(
"v",
"<leader>ri",
[[ <Esc><Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]],
{ noremap = true, silent = true, expr = false }
)
-- Extract block doesn't need visual mode
vim.api.nvim_set_keymap(
"n",
"<leader>rxb",
[[ <Cmd>lua require('refactoring').refactor('Extract Block')<CR>]],
{ noremap = true, silent = true, expr = false }
)
vim.api.nvim_set_keymap(
"n",
"<leader>rxbf",
[[ <Cmd>lua require('refactoring').refactor('Extract Block To File')<CR>]],
{ noremap = true, silent = true, expr = false }
)
-- Inline variable can also pick up the identifier currently under the cursor without visual mode
vim.api.nvim_set_keymap(
"n",
"<leader>ri",
[[ <Cmd>lua require('refactoring').refactor('Inline Variable')<CR>]],
{ noremap = true, silent = true, expr = false }
)
vim.api.nvim_set_keymap(
"n",
"<leader>rx",
[[ <Cmd>lua require('refactoring').refactor('Extract Variable')<CR>]],
{ noremap = true, silent = true, expr = false }
)

View File

@ -1,43 +0,0 @@
local home = vim.fn.expand("~/zettelkasten")
require("telekasten").setup({
home = home,
})
vim.cmd([[
nnoremap <leader>zf :lua require('telekasten').find_notes()<CR>
nnoremap <leader>zd :lua require('telekasten').find_daily_notes()<CR>
nnoremap <leader>zg :lua require('telekasten').search_notes()<CR>
nnoremap <leader>zz :lua require('telekasten').follow_link()<CR>
autocmd FileType markdown nnoremap <Enter> :lua require('telekasten').follow_link()<CR>
autocmd FileType markdown vnoremap <leader>zf :lua require('telekasten').follow_link()<CR>
nnoremap <leader>zT :lua require('telekasten').goto_today()<CR>
nnoremap <leader>zW :lua require('telekasten').goto_thisweek()<CR>
nnoremap <leader>zw :lua require('telekasten').find_weekly_notes()<CR>
nnoremap <leader>zn :lua require('telekasten').new_note()<CR>
nnoremap <leader>zN :lua require('telekasten').new_templated_note()<CR>
nnoremap <leader>zy :lua require('telekasten').yank_notelink()<CR>
nnoremap <leader>zc :lua require('telekasten').show_calendar()<CR>
nnoremap <leader>zC :CalendarT<CR>
nnoremap <leader>zi :lua require('telekasten').paste_img_and_link()<CR>
nnoremap <leader>zt :lua require('telekasten').toggle_todo()<CR>
nnoremap <leader>zb :lua require('telekasten').show_backlinks()<CR>
nnoremap <leader>zF :lua require('telekasten').find_friends()<CR>
nnoremap <leader>zI :lua require('telekasten').insert_img_link({ i=true })<CR>
nnoremap <leader>zp :lua require('telekasten').preview_img()<CR>
nnoremap <leader>zm :lua require('telekasten').browse_media()<CR>
nnoremap <leader>za :lua require('telekasten').show_tags()<CR>
nnoremap <leader># :lua require('telekasten').show_tags()<CR>
nnoremap <leader>zr :lua require('telekasten').rename_note()<CR>
" on hesitation, bring up the panel
nnoremap <leader>z :lua require('telekasten').panel()<CR>
" colors
hi tklink ctermfg=72 guifg=#689d6a cterm=bold,underline gui=bold,underline
hi tkBrackets ctermfg=gray guifg=gray
hi tkTagSep ctermfg=gray guifg=gray
hi tkTag ctermfg=175 guifg=#d3869B
]])
-- autocmd FileType markdown vnoremap <Enter> :norm ysiw\]ysa\]\] lua require('telekasten').follow_link()<CR>

View File

@ -0,0 +1,31 @@
vim.api.nvim_create_autocmd({ 'BufRead', 'BufNewFile' }, {
group = vim.api.nvim_create_augroup('gotmpl_highlight', { clear = true }),
pattern = '*.tmpl',
callback = function()
local filename = vim.fn.expand('%:t')
local ext = filename:match('.*%.(.-)%.tmpl$')
-- Add more extension to syntax mappings here if you need to.
local ext_filetypes = {
go = 'go',
html = 'html',
md = 'markdown',
yaml = 'yaml',
yml = 'yaml',
-- cc = 'cpp',
-- h = 'cpp',
}
if ext and ext_filetypes[ext] then
-- Set the primary filetype
vim.bo.filetype = ext_filetypes[ext]
-- Define embedded Go template syntax
vim.cmd([[
syntax include @gotmpl syntax/gotmpl.vim
syntax region gotmpl start="{{" end="}}" contains=@gotmpl containedin=ALL
syntax region gotmpl start="{%" end="%}" contains=@gotmpl containedin=ALL
]])
end
end,
})

View File

@ -0,0 +1,9 @@
vim.api.nvim_create_autocmd({ "BufNewFile", "BufRead" }, {
pattern = "*.wgsl",
callback = function()
local lspconfig = require("lspconfig")
lspconfig.wgsl_analyzer.setup({})
vim.bo.filetype = "wgsl"
end,
})

View File

@ -0,0 +1,6 @@
vim.api.nvim_create_autocmd({ "BufReadCmd" }, {
pattern = "*.srcjar",
callback = function()
vim.api.nvim_command("call zip#Browse(expand('<amatch>'))")
end,
})

View File

@ -1,16 +0,0 @@
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
package.path = package.path .. ";" .. vim.env.HOME .. "/.vim/lua/?.lua"
require("lazy").setup("plugins")
require("config.clipboard")

View File

@ -0,0 +1,35 @@
local use_google = require("utils").use_google
return {
{
"yetone/avante.nvim",
build = "make",
enable = true,
branch = "working",
dependencies = {
"nvim-treesitter/nvim-treesitter",
"stevearc/dressing.nvim",
"nvim-lua/plenary.nvim",
"MunifTanjim/nui.nvim",
-- Add vintharas/avante-goose.nvim as a dependecy to avante.nvim
-- That'll ensure that you'll load avante-goose when you load avante.
{
"vintharas/avante-goose.nvim",
url = "sso://user/vintharas/avante-goose.nvim",
cond = use_google(),
opts = {
model = "gemini-for-google-2.5-pro", -- Select model from go/goose-models.
},
},
},
opts = {
provider = "goose", -- Select goose as provider
vendors = {}, -- Makes sure there's a vendors table
},
config = function(_, opts)
-- Load provider from the plugin
opts.vendors["goose"] = require("avante-goose").getProvider()
require("avante").setup(opts)
end,
},
}

View File

@ -1,138 +1,162 @@
local use_google = require("utils").use_google local use_google = require("utils").use_google
return { return {
-- "sindrets/diffview.nvim", {
{ "johmsalas/text-case.nvim" }, "folke/flash.nvim",
{ "nvim-lua/plenary.nvim", lazy = false }, event = "VeryLazy",
{ "nvim-tree/nvim-web-devicons", lazy = false }, ---@type Flash.Config
{ "squk/java-syntax.vim", ft = "java" }, opts = {},
{ "squk/gdrama-syntax.vim", dir = vim.fn.expand("$HOME/dev/gdrama-syntax.vim") }, -- stylua: ignore
{ keys = {
"folke/todo-comments.nvim", { "s", mode = { "n", "x", "o" }, function() require("flash").jump() end, desc = "Flash" },
dependencies = { "nvim-lua/plenary.nvim" }, { "S", mode = { "n", "x", "o" }, function() require("flash").treesitter() end, desc = "Flash Treesitter" },
opts = {}, { "r", mode = "o", function() require("flash").remote() end, desc = "Remote Flash" },
}, { "R", mode = { "o", "x" }, function() require("flash").treesitter_search() end, desc = "Treesitter Search" },
{ { "<c-s>", mode = { "c" }, function() require("flash").toggle() end, desc = "Toggle Flash Search" },
"NvChad/nvim-colorizer.lua", },
ft = "lua", },
config = function() "tikhomirov/vim-glsl",
require("colorizer").setup() "sindrets/diffview.nvim",
end, { "folke/todo-comments.nvim", dependencies = { "nvim-lua/plenary.nvim" } },
}, {
{ "MagicDuck/grug-far.nvim",
"andweeb/presence.nvim", config = function()
cond = not use_google(), require("grug-far").setup({
config = function() -- search and replace engines configuration
require("presence").setup({ show_time = false }) engines = {
end, -- see https://github.com/BurntSushi/ripgrep
}, ripgrep = {
{ "udalov/kotlin-vim", ft = "kotlin" }, -- ripgrep executable to use, can be a different path if you need to configure
{ "ray-x/go.nvim", ft = "go" }, path = "rg",
{ "ray-x/guihua.lua", ft = "go" }, -- extraArgs = "-.",
{ },
"rafcamlet/nvim-luapad", },
config = function() })
require("luapad").setup({ end,
eval_on_change = false, },
}) {
end, "shellRaining/hlchunk.nvim",
}, event = { "BufReadPre", "BufNewFile" },
"flwyd/vim-conjoin", opts = {
"godlygeek/tabular", line_num = { enable = true },
"wesQ3/vim-windowswap", chunk = {
"cakebaker/scss-syntax.vim", enable = true,
"vim-scripts/vcscommand.vim", priority = 15,
"jghauser/mkdir.nvim", style = {
"google/vim-searchindex", { fg = "#393d4c" },
"kosayoda/nvim-lightbulb", },
{ chars = {
"ntpeters/vim-better-whitespace", horizontal_line = "",
config = function() -- vertical_line = "│",
vim.g.better_whitespace_filetypes_blacklist = { "dashboard" } vertical_line = "",
end, left_top = "",
}, left_bottom = "",
"junegunn/fzf.vim", right_arrow = ">",
"AndrewRadev/tagalong.vim", },
"tversteeg/registers.nvim", use_treesitter = true,
"jremmen/vim-ripgrep", textobject = "",
"viniciusgerevini/clyde.vim", max_file_size = 1024 * 1024,
{ "andymass/vim-matchup", event = "VimEnter" }, error_sign = true,
-- Undo tree -- animation related
{ duration = 0,
"mbbill/undotree", delay = 0,
cmd = "UndotreeToggle", },
config = function() },
vim.g.undotree_SetFocusWhenToggle = 1 },
end, "RRethy/vim-illuminate",
}, "kdheepak/lazygit.nvim",
{ "flwyd/vim-conjoin",
"stevearc/aerial.nvim", "rafcamlet/nvim-luapad",
opts = {}, "vim-scripts/vcscommand.vim",
-- Optional dependencies "AndrewRadev/tagalong.vim",
dependencies = { "AndrewRadev/yankwin.vim",
"nvim-treesitter/nvim-treesitter", { "squk/gdrama-syntax.vim", ft = "gdrama" },
}, { "nvim-lua/plenary.nvim", lazy = false },
cmd = { "AerialToggle", "AerialOn" }, { "squk/java-syntax.vim", ft = "java" },
keys = { { "udalov/kotlin-vim", event = "VeryLazy", ft = "kotlin" },
{ "<leader>so", ":AerialToggle<CR>", desc = "[S]ymbols [O]utline" }, { "andymass/vim-matchup", event = "VimEnter" },
}, { "jghauser/mkdir.nvim", event = "BufWritePre" },
}, {
{ "rmagatti/auto-session",
"rmagatti/auto-session", dependencies = {
config = function() "nvim-telescope/telescope.nvim", -- Only needed if you want to use session lens
require("auto-session").setup({ log_level = "error" }) },
end, config = function()
}, require("auto-session").setup({
{ auto_session_suppress_dirs = { "~/", "~/Projects", "~/Downloads", "/" },
"ipod825/libp.nvim", args_allow_single_directory = false,
config = function() bypass_save_filetypes = { "netrw" },
require("libp").setup() })
end, end,
}, },
{ "tpope/vim-abolish",
"iamcco/markdown-preview.nvim", {
build = "cd app && npm install", "johmsalas/text-case.nvim",
init = function() dependencies = { "nvim-telescope/telescope.nvim" },
vim.g.mkdp_filetypes = { "markdown" } config = function()
end, require("textcase").setup({})
ft = { "markdown" }, require("telescope").load_extension("textcase")
}, end,
{ cmd = {
"glacambre/firenvim", "Subs",
},
},
{
"NvChad/nvim-colorizer.lua",
ft = "lua",
config = function()
require("colorizer").setup()
end,
},
{
-- Lazy load firenvim "andweeb/presence.nvim",
-- Explanation: https://github.com/folke/lazy.nvim/discussions/463#discussioncomment-4819297 cond = not use_google(),
config = function() config = function()
vim.g.firenvim_config = { require("presence").setup({
localSettings = { main_image = "file",
[ [[.*]] ] = { show_time = false,
cmdline = "firenvim", })
priority = 0, end,
selector = 'textarea:not([readonly]):not([class="handsontableInput"]), div[role="textbox"]', },
takeover = "always", {
}, "ntpeters/vim-better-whitespace",
[ [[.*notion\.so.*]] ] = { config = function()
priority = 9, vim.g.better_whitespace_filetypes_blacklist = { "dashboard" }
takeover = "never", end,
}, },
[ [[.*docs\.google\.com.*]] ] = { {
priority = 9, "mbbill/undotree",
takeover = "never", cmd = "UndotreeToggle",
}, config = function()
[ [[google\.com.*]] ] = { vim.g.undotree_SetFocusWhenToggle = 1
priority = 9, end,
takeover = "never", -- stylua: ignore
}, keys = { { "<leader>ut", ":UndotreeToggle<CR>" } },
[ [[twitch\.tv.*]] ] = { },
priority = 9, {
takeover = "never", "stevearc/aerial.nvim",
}, opts = {},
}, cmd = { "AerialToggle", "AerialOn" },
} -- stylua: ignore
end, keys = { { "<leader>so", ":AerialToggle<CR>", desc = "[S]symbols [O]utline" } },
lazy = not vim.g.started_by_firenvim, },
build = function() {
vim.fn["firenvim#install"](0) "andrewferrier/debugprint.nvim",
end, opts = {},
}, -- Dependency only needed for NeoVim 0.8
dependencies = {
"nvim-treesitter/nvim-treesitter",
},
-- Remove the following line to use development versions,
-- not just the formal releases
version = "*",
-- stylua: ignore
keys = {
{ "<leader>dp", ":lua require('debugprint').debugprint()<cr>", desc = "Debug print" },
{ "<leader>dP", ":lua require('debugprint').debugprint({above = true})<cr>", desc = "Debug print" },
{ "<leader>dq", ":lua require('debugprint').debugprint({variable = true})<cr>", desc = "Debug print" },
{ "<leader>dQ", ":lua require('debugprint').debugprint({variable = true, above = true})<cr>", desc = "Debug print", },
},
},
} }

View File

@ -0,0 +1,17 @@
return {
"lommix/bevy_inspector.nvim",
dependencies = {
"nvim-telescope/telescope.nvim",
"nvim-lua/plenary.nvim",
},
config = function()
require("bevy_inspector").setup({})
end,
cmd = { "BevyInspect", "BevyInspectNamed", "BevyInspectQuery" },
-- stylua: ignore
keys = {
{ "<leader>bia", ":BevyInspect<Cr>", desc = "Lists all entities" },
{ "<leader>bin", ":BevyInspectNamed<Cr>", desc = "List all named entities" },
{ "<leader>biq", ":BevyInspectQuery<Cr>", desc = "Query a single component, continues to list all matching entities", },
},
}

View File

@ -0,0 +1,30 @@
return {
"LunarVim/bigfile.nvim",
opts = {
filesize = 2, -- size of the file in MiB, the plugin round file sizes to the closest MiB
pattern = function(bufnr, filesize_mib)
-- you can't use `nvim_buf_line_count` because this runs on BufReadPre
local file_contents = vim.fn.readfile(vim.api.nvim_buf_get_name(bufnr))
local file_lines = #file_contents
local filetype = vim.filetype.match({ buf = bufnr })
if filetype == "c" or filetype == "cpp" then
if file_lines > 1000 then
vim.b.codefmt_formatt = "" -- disable codefmt
vim.cmd(":FormatDisable") -- disable conform
return true
end
end
return filesize_mib > 1
end,
features = { -- features to disable
"indent_blankline",
"illuminate",
"lsp",
"treesitter",
-- "syntax",
"matchparen",
-- "vimopts",
-- "filetype",
},
}
}

View File

@ -0,0 +1,183 @@
local use_google = require("utils").use_google
local flags = require("utils").flags
local kind_icons = {
-- LLM Provider icons
claude = "󰋦",
openai = "󱢆",
codestral = "󱎥",
gemini = "",
nvim_ciderlsp = "󱜚",
Groq = "",
Openrouter = "󱂇",
Ollama = "󰳆",
["Llama.cpp"] = "󰳆",
Deepseek = "",
}
return {
{
"saghen/blink.compat",
-- use the latest release, via version = '*', if you also use the latest release for blink.cmp
version = "*",
-- lazy.nvim will automatically load the plugin when it's required by blink.cmp
lazy = true,
cond = flags.blink,
-- make sure to set opts so that lazy.nvim calls blink.compat's setup
opts = {
impersonate_nvim_cmp = true,
debug = true,
},
},
{
"saghen/blink.cmp",
lazy = false, -- lazy loading handled internally
cond = flags.blink,
dependencies = {
"chrisgrieser/cmp-nerdfont",
"hrsh7th/cmp-nvim-lsp",
"mikavilpas/blink-ripgrep.nvim",
"moyiz/blink-emoji.nvim",
"rafamadriz/friendly-snippets", -- optional: provides snippets for the snippet source
"saghen/blink.compat",
},
version = "v0.*", -- use a release tag to download pre-built binaries
-- build = 'cargo build --release',
---@module 'blink.cmp'
---@type blink.cmp.Config
opts = {
-- stylua: ignore
keymap = {
preset = "none",
["<C-space>"] = { "show", "show_documentation", "hide_documentation" },
["<C-e>"] = { "hide", "fallback" },
["<CR>"] = { "accept", "fallback" },
["<Tab>"] = { "select_next", "snippet_forward", "accept", "fallback" },
["<S-Tab>"] = { "select_prev", "snippet_backward", "fallback" },
["<Up>"] = { "select_prev", "fallback" },
["<Down>"] = { "select_next", "fallback" },
["<S-Up>"] = { "scroll_documentation_up", "fallback" },
["<S-Down>"] = { "scroll_documentation_down", "fallback" },
},
appearance = {
use_nvim_cmp_as_default = true,
nerd_font_variant = "normal",
kind_icons = kind_icons,
},
sources = {
default = function(ctx)
local providerToEnable = {
"lsp",
"path",
"snippets",
"ripgrep",
"emoji",
"nerdfont",
"buffer",
"avante",
}
if use_google() then
table.insert(providerToEnable, "nvim_ciderlsp")
table.insert(providerToEnable, "buganizer")
-- table.insert(providerToEnable, "avante")
else
-- table.insert(providerToEnable, "avante")
table.insert(providerToEnable, "minuet")
end
return providerToEnable
end,
providers = {
lsp = { name = "LSP", module = "blink.cmp.sources.lsp", score_offset = 90 },
-- dont show LuaLS require statements when lazydev has items
lazydev = { name = "LazyDev", module = "lazydev.integrations.blink", fallbacks = { "lsp" } },
ripgrep = {
module = "blink-ripgrep",
name = "Ripgrep",
-- the options below are optional, some default values are shown
---@module "blink-ripgrep"
---@type blink-ripgrep.Options
opts = {
prefix_min_len = 3,
context_size = 5,
max_filesize = "1M",
additional_rg_options = {},
},
score_offset = 20, -- the higher the number, the higher the priority
},
-- https://github.com/moyiz/blink-emoji.nvim
emoji = {
module = "blink-emoji",
name = "Emoji",
score_offset = 1, -- the higher the number, the higher the priority
opts = { insert = true }, -- Insert emoji (default) or complete its name
},
buffer = {
name = "Buffer",
enabled = true,
max_items = 3,
module = "blink.cmp.sources.buffer",
min_keyword_length = 4,
score_offset = 15, -- the higher the number, the higher the priority
},
-- compat sources
nerdfont = {
name = "nerdfont",
module = "blink.compat.source",
score_offset = 1, -- the higher the number, the higher the priority
},
minuet = {
name = "minuet",
module = "minuet.blink",
score_offset = 100, -- Gives minuet higher priority among suggestions
},
-- avante = {
-- module = "blink-cmp-avante",
-- name = "Avante",
-- opts = {
-- -- options for blink-cmp-avante
-- },
-- },
nvim_ciderlsp = {
name = "nvim_ciderlsp",
module = "blink.compat.source",
score_offset = 100,
},
buganizer = {
name = "nvim_buganizer",
module = "blink.compat.source",
},
},
},
-- experimental signature help support
signature = { enabled = true },
completion = {
-- Recommended to avoid unnecessary request
trigger = { prefetch_on_insert = false },
list = {
-- stylua: ignore
selection = {
preselect = function(ctx) return ctx.mode ~= 'cmdline' end,
auto_insert = function(ctx) return ctx.mode ~= 'cmdline' end,
},
},
documentation = {
auto_show = true,
},
-- Displays a preview of the selected item on the current line
ghost_text = {
enabled = true,
},
trigger = {
show_on_x_blocked_trigger_characters = { "'", '"', "(", "{" },
},
},
},
-- allows extending the providers array elsewhere in your config
-- without having to redefine it
opts_extend = { "sources.default" },
},
}

View File

@ -1,62 +1,30 @@
return { return {
{
"tiagovla/scope.nvim",
config = function()
-- vim.opt.sessionoptions = { -- required
-- "buffers",
-- "tabpages",
-- "globals",
-- }
require("scope").setup({})
end,
},
{ {
"akinsho/bufferline.nvim", "akinsho/bufferline.nvim",
version = "*", version = "*",
dependencies = "nvim-tree/nvim-web-devicons", dependencies = { "nvim-tree/nvim-web-devicons" },
config = function() opts = {
vim.opt.termguicolors = true options = {
require("bufferline").setup({ separator_style = "slope",
options = { -- offsets = { {
-- separator_style = "slope", -- filetype = "neo-tree",
separator_style = "slant", -- text = "NeoTree",
hover = { -- highlight = "Directory",
enabled = true, -- separator = true, -- use a "true" to enable the default, or set your own character
delay = 200, -- }, },
reveal = { "close" }, mode = "tabs",
}, diagnostics = "nvim_lsp",
indicator = { -- diagnostics_indicator = function(count, level, diagnostics_dict, context)
-- icon = "", -- this should be omitted if indicator style is not 'icon' -- local symbols = { error = "", warning = " ", info = " ", hint = "󱠂 " }
style = "icon", -- | 'underline' | 'none', -- local icon = symbols[level] or level
}, -- return "" .. icon .. count
offsets = { -- end,
{ max_name_length = 30,
filetype = "NvimTree", tab_size = 27,
text = "File Explorer", truncate_name = false,
highlight = "Directory", show_close_icon = false,
separator = true, -- use a "true" to enable the default, or set your own character show_buffer_close_icons = false,
}, },
}, },
mode = "tabs",
diagnostics = "nvim_lsp",
diagnostics_indicator = function(count, level, diagnostics_dict, context)
local symbols = { error = "", warning = "", info = "", hint = "󱠂 " }
local icon = symbols[level] or level
return "" .. icon .. count
end,
max_name_length = 30,
truncate_name = false,
show_close_icon = false,
show_buffer_close_icons = false,
-- custom_areas = {
-- right = function()
-- local result = {}
-- table.insert(result, { text = " " .. vim.api.nvim_buf_get_name(0), fg = "#edf" })
-- return result
-- end,
-- },
},
})
end,
}, },
} }

View File

@ -1,24 +1,12 @@
local use_google = require("utils").use_google local use_google = require("utils").use_google
local flags = require("utils").flags
local function compare_by_ciderlsp_score(entry1, entry2)
if entry1.completion_item.score ~= nil and entry2.completion_item.score ~= nil then
print("LSP score " .. entry1.completion_item.score)
print("LSP score " .. entry2.completion_item.score)
return entry1.completion_item.score > entry2.completion_item.score
end
end
local has_words_before = function()
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
end
return { return {
{ {
"hrsh7th/nvim-cmp", "hrsh7th/nvim-cmp",
event = { "InsertEnter", "CmdlineEnter" }, event = { "InsertEnter", "CmdlineEnter" },
cond = not flags.blink,
dependencies = { dependencies = {
"Exafunction/codeium.nvim",
"FelipeLema/cmp-async-path", "FelipeLema/cmp-async-path",
"amarakon/nvim-cmp-buffer-lines", "amarakon/nvim-cmp-buffer-lines",
"chrisgrieser/cmp-nerdfont", "chrisgrieser/cmp-nerdfont",
@ -30,7 +18,7 @@ return {
"hrsh7th/cmp-emoji", "hrsh7th/cmp-emoji",
"hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-nvim-lsp",
"hrsh7th/cmp-nvim-lsp-document-symbol", "hrsh7th/cmp-nvim-lsp-document-symbol",
"hrsh7th/cmp-nvim-lsp-signature-help", -- "hrsh7th/cmp-nvim-lsp-signature-help",
"hrsh7th/cmp-nvim-lua", "hrsh7th/cmp-nvim-lua",
"lukas-reineke/cmp-under-comparator", "lukas-reineke/cmp-under-comparator",
"onsails/lspkind.nvim", "onsails/lspkind.nvim",
@ -41,26 +29,29 @@ return {
vim.opt.completeopt = { "menu", "menuone", "noselect" } vim.opt.completeopt = { "menu", "menuone", "noselect" }
local cmp = require("cmp") local cmp = require("cmp")
local luasnip = require("luasnip")
local compare = cmp.config.compare local compare = cmp.config.compare
local conditionalSources = {} local conditionalSources = {}
if use_google() then if use_google() then
table.insert(conditionalSources, { name = "nvim_ciderlsp", priority = 8 }) table.insert(conditionalSources, { name = "nvim_ciderlsp", priority = 8 })
table.insert(conditionalSources, { name = "analysislsp" })
table.insert(conditionalSources, { name = "buganizer", option = { notifications_enabled = true } }) table.insert(conditionalSources, { name = "buganizer", option = { notifications_enabled = true } })
else
table.insert(conditionalSources, { name = "codeium", priority = 8 })
end end
local lspkind = require("lspkind") local lspkind = require("lspkind")
lspkind.init() lspkind.init()
cmp.setup.filetype("txt", {
enabled = false,
})
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline({ "/", "?" }, { cmp.setup.cmdline({ "/", "?" }, {
mapping = cmp.mapping.preset.cmdline(), mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({ sources = cmp.config.sources({
{ name = "treesitter" }, { name = "treesitter" },
{ name = "buffer" },
}), }),
}) })
@ -68,6 +59,7 @@ return {
cmp.setup.cmdline(":", { cmp.setup.cmdline(":", {
mapping = cmp.mapping.preset.cmdline(), mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({ sources = cmp.config.sources({
-- { name = "nvim_lsp_signature_help", priority = 9 },
{ name = "async_path" }, { name = "async_path" },
{ name = "cmdline", option = { ignore_cmds = { "edit", "write", "tabedit" } } }, { name = "cmdline", option = { ignore_cmds = { "edit", "write", "tabedit" } } },
}), }),
@ -75,9 +67,17 @@ return {
cmp.setup({ cmp.setup({
preselect = cmp.PreselectMode.None, preselect = cmp.PreselectMode.None,
performance = {
-- debounce = 60,
-- throttle = 30,
fetching_timeout = 300,
-- confirm_resolve_timeout = 80,
-- async_budget = 1,
-- max_view_entries = 200,
},
sources = cmp.config.sources( sources = cmp.config.sources(
require("utils").TableConcat(conditionalSources, { require("utils").TableConcat(conditionalSources, {
{ name = "nvim_lsp_signature_help", priority = 9 }, -- { name = "nvim_lsp_signature_help", priority = 9 },
-- Conditional sources injected here. -- Conditional sources injected here.
{ name = "luasnip", priority = 7 }, { name = "luasnip", priority = 7 },
{ name = "nvim_lsp", priority = 6 }, { name = "nvim_lsp", priority = 6 },
@ -89,10 +89,8 @@ return {
{ name = "nerdfont" }, { name = "nerdfont" },
{ name = "emoji" }, { name = "emoji" },
}, },
{ -- fallback A { -- fallback
{ name = "treesitter" }, { name = "treesitter" },
},
{ -- fallback B
{ name = "buffer" }, { name = "buffer" },
} }
), ),
@ -100,13 +98,11 @@ return {
sorting = { sorting = {
comparators = { comparators = {
-- compare.score_offset, -- not good at all -- compare.score_offset, -- not good at all
compare.priority,
compare.score, -- based on : score = score + ((#sources - (source_index - 1)) * sorting.priority_weight) compare.score, -- based on : score = score + ((#sources - (source_index - 1)) * sorting.priority_weight)
compare.locality,
compare.recently_used, compare.recently_used,
compare.offset, compare.offset,
compare.order, compare.order,
-- compare.scopes, -- what?
-- compare.sort_text,
-- compare.exact, -- compare.exact,
compare.kind, compare.kind,
-- compare.length, -- useless -- compare.length, -- useless
@ -118,13 +114,11 @@ return {
async_path = " path", async_path = " path",
buffer = " Buf", buffer = " Buf",
cmdline = " cmd", cmdline = " cmd",
codeium = "󰚩 Codeium",
crates = " rust", crates = " rust",
luasnip = " snip", luasnip = " snip",
buganizer = " Buganizer", buganizer = " Buganizer",
nerdfont = "󰊪 nerdfont", nerdfont = "󰊪 nerdfont",
nvim_ciderlsp = "󰚩 Cider", nvim_ciderlsp = "󰚩 Cider",
analysislsp = "󰟌 analysislsp",
nvim_lsp_signature_help = "󰊕", nvim_lsp_signature_help = "󰊕",
nvim_lsp = " LSP", nvim_lsp = " LSP",
nvim_lua = " lua", nvim_lua = " lua",
@ -139,35 +133,36 @@ return {
end, end,
}, },
experimental = {
native_menu = false,
ghost_text = true,
},
mapping = { mapping = {
["<S-Up>"] = cmp.mapping.scroll_docs(-4), ["<S-Up>"] = cmp.mapping.scroll_docs(-4),
["<S-Down>"] = cmp.mapping.scroll_docs(4), ["<S-Down>"] = cmp.mapping.scroll_docs(4),
["<C-e>"] = cmp.mapping.close(), ["<C-e>"] = cmp.mapping.close(),
["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }), ["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
["<CR>"] = cmp.mapping.confirm({ select = true }), ["<CR>"] = cmp.mapping(function(fallback)
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then if cmp.visible() then
if #cmp.get_entries() == 1 then if luasnip.expandable() then
cmp.confirm({ select = true }) luasnip.expand()
else else
cmp.select_next_item() cmp.confirm({
end select = true,
elseif has_words_before() then })
cmp.complete()
if #cmp.get_entries() == 1 then
cmp.confirm({ select = true })
end end
else else
fallback() fallback()
end end
end),
["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
else
fallback()
end
end, { "i", "s" }), end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function() ["<S-Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then if cmp.visible() then
cmp.select_prev_item() cmp.select_prev_item()
else
fallback()
end end
end, { "i", "s" }), end, { "i", "s" }),

View File

@ -1,17 +0,0 @@
local use_google = require("utils").use_google
return {
{
"Exafunction/codeium.nvim",
-- commit = "b1ff0d6c993e3d87a4362d2ccd6c660f7444599f",
event = "VeryLazy",
-- event = "InsertEnter",
cond = not use_google(),
dependencies = {
"nvim-lua/plenary.nvim",
"hrsh7th/nvim-cmp",
},
config = function()
require("codeium").setup({})
end,
},
}

View File

@ -1,67 +1,89 @@
vim.api.nvim_create_user_command("FormatDisable", function(args) local use_google = require("utils").use_google
if args.bang then
-- FormatDisable! will disable formatting just for this buffer
vim.b.disable_autoformat = true
else
vim.g.disable_autoformat = true
end
end, {
desc = "Disable autoformat-on-save",
bang = true,
})
vim.api.nvim_create_user_command("FormatEnable", function()
vim.b.disable_autoformat = false
vim.g.disable_autoformat = false
end, {
desc = "Re-enable autoformat-on-save",
})
return { return {
{ {
"stevearc/conform.nvim", "stevearc/conform.nvim",
event = { "BufWritePre" }, event = { "BufWritePre" },
cmd = { "ConformInfo" }, cmd = { "ConformInfo", "FormatDisable", "FormatEnable" },
keys = { keys = {
{ -- stylua: ignore
"<leader>fmt", { "<leader>fmt", function() require("conform").format({ async = true, lsp_fallback = true }) end, mode = "", desc = "Format buffer", },
function() { "<leader>fj", ":%!python -m json.tool" },
require("conform").format({ async = true, lsp_fallback = true }) },
end, config = function()
mode = "", vim.g.disable_autoformat = false
desc = "Format buffer", vim.api.nvim_create_user_command("FormatDisable", function(args)
}, if args.bang then
}, -- FormatDisable! will disable formatting just for this buffer
opts = { vim.b.disable_autoformat = true
formatters_by_ft = { else
-- Conform will run multiple formatters sequentially vim.g.disable_autoformat = true
-- go = { "goimports", "gofmt" }, end
-- Use a sub-list to run only the first available formatter end, {
-- javascript = { { "prettierd", "prettier" } }, desc = "Disable autoformat-on-save",
lua = { "stylua" }, bang = true,
-- Conform will run multiple formatters sequentially })
python = { "isort", "black" }, vim.api.nvim_create_user_command("FormatEnable", function()
-- Use a sub-list to run only the first available formatter vim.b.disable_autoformat = false
javascript = { { "prettierd", "prettier" } }, vim.g.disable_autoformat = false
gdscript = { "gdformat" }, end, {
dashboard = {}, desc = "Re-enable autoformat-on-save",
-- Use the "*" filetype to run formatters on all filetypes. })
["*"] = { "codespell" },
-- Use the "_" filetype to run formatters on filetypes that don't vim.api.nvim_create_autocmd("BufWritePre", {
-- have other formatters configured. pattern = "*",
["_"] = { "trim_whitespace" }, callback = function(args)
}, if vim.g.disable_autoformat or vim.b[args.buf].disable_autoformat then
format_on_save = function(bufnr) return
-- Disable with a global or buffer-local variable end
if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then require("conform").format({ bufnr = args.buf })
return end,
end })
return { timeout_ms = 500, lsp_fallback = true }
end, vim.api.nvim_create_user_command("Format", function(args)
formatters = { local range = nil
gdformat = { if args.count ~= -1 then
prepend_args = { "-l", "100" }, local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1]
}, range = {
}, start = { args.line1, 0 },
}, ["end"] = { args.line2, end_line:len() },
}, }
end
require("conform").format({ async = true })
end, { range = true })
require("conform").setup(
{
log_level = vim.log.levels.DEBUG,
formatters_by_ft = {
rust = { "rustfmt" },
-- Conform will run multiple formatters sequentially
-- go = { "goimports", "gofmt" },
-- Use a sub-list to run only the first available formatter
lua = { "stylua" },
-- Conform will run multiple formatters sequentially
python = { "isort" },
-- Use a sub-list to run only the first available formatter
javascript = { "prettier" },
gdscript = { "gdformat" },
ron = { "ronfmt" },
dashboard = {},
-- Use the "*" filetype to run formatters on all filetypes.
-- ["*"] = { "codespell" },
-- Use the "_" filetype to run formatters on filetypes that don't
-- have other formatters configured.
["_"] = { "trim_whitespace" },
},
formatters = {
-- ronfmt = {
-- command = "ronfmt",
-- args = { "-d", "$FILENAME" },
-- },
gdformat = {
prepend_args = { "-l", "100" },
},
},
})
end,
},
} }

View File

@ -3,12 +3,20 @@ return {
"mfussenegger/nvim-jdtls", "mfussenegger/nvim-jdtls",
config = function() end, config = function() end,
}, },
{
"theHamsta/nvim-dap-virtual-text",
"nvim-neotest/nvim-nio",
config = function()
require("nvim-dap-virtual-text").setup()
end,
},
{ {
"mfussenegger/nvim-dap", "mfussenegger/nvim-dap",
dependencies = { dependencies = {
"rcarriga/nvim-dap-ui", "rcarriga/nvim-dap-ui",
"nvim-telescope/telescope-dap.nvim", "nvim-telescope/telescope-dap.nvim",
}, },
-- stylua: ignore
keys = { keys = {
{ "<leader>do", ":lua require'dapui'.open()<CR>" }, { "<leader>do", ":lua require'dapui'.open()<CR>" },
-- { "<F5>", ":lua require'dap'.continue()<CR>" }, -- { "<F5>", ":lua require'dap'.continue()<CR>" },
@ -20,9 +28,34 @@ return {
{ "<leader>dt", ":Telescope dap configurations<CR>" }, { "<leader>dt", ":Telescope dap configurations<CR>" },
}, },
config = function() config = function()
local use_google = require("utils").use_google
require("telescope").load_extension("dap") require("telescope").load_extension("dap")
local dap = require("dap") local dap = require("dap")
dap.adapters.java = {}
vim.fn.sign_define("DapBreakpoint", { text = "", texthl = "DiagnosticSignError" })
vim.fn.sign_define("DapBreakpointCondition", { text = "", texthl = "DiagnosticSignError" })
vim.fn.sign_define("DapBreakpointRejected", { text = "", texthl = "DiagnosticSignError" })
dap.adapters.cppdbg = {
id = "cppdbg",
type = "executable",
command = vim.fn.exepath("OpenDebugAD7"),
}
if use_google then
dap.adapters.lldb = {
type = "executable",
-- sudo apt install google-lldb-vscode
command = "/usr/share/code/resources/app/extensions/google-lldb-vscode/bin/lldb-dap",
name = "lldb",
sourceMap = {
{ "/proc/self/cwd", "${workspaceFolder}" },
},
cwd = "${workspaceFolder}",
debuggerRoot = "${workspaceFolder}",
sourcePath = "${workspaceFolder}",
}
end
dap.adapters.godot = { dap.adapters.godot = {
type = "server", type = "server",
@ -30,27 +63,72 @@ return {
port = 6006, port = 6006,
} }
dap.configurations.cppdbg = {
{
name = "Attach to gdbserver :5555",
type = "cppdbg",
request = "launch",
MIMode = "gdb",
miDebuggerServerAddress = "localhost:5555",
miDebuggerPath = vim.fn.exepath("gdb"),
cwd = "${workspaceFolder}",
program = function()
return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/", "file")
end,
},
}
dap.configurations.cpp = {
{
-- If you get an "Operation not permitted" error using this, try disabling YAMA:
-- echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
name = "Attach to process",
type = "lldb",
request = "attach",
pid = require("dap.utils").pick_process,
args = {},
},
{
name = "Wait for process name",
type = "lldb",
request = "attach",
program = function()
return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/", "file")
end,
waitFor = true,
},
{
type = "lldb",
request = "attach",
mode = "remote",
name = "Attach Remote",
attachCommands = { "gdb-remote localhost:5555" },
},
}
-- dap.configurations.c = dap.configurations.cpp
dap.configurations.java = { dap.configurations.java = {
{ {
type = "java", type = "java",
request = "attach", request = "attach",
mode = "remote", mode = "remote",
name = "Java - Attach Remote", name = "Attach Remote",
cwd = "${workspaceFolder}", cwd = "${workspaceFolder}",
hostName = "127.0.0.1", hostName = "127.0.0.1",
port = 5005, port = 5005,
}, },
} }
dap.configurations.gdscript = { dap.configurations.gdscript = {
{ {
name = "Godot - Launch Project", name = "Launch Project",
type = "godot", type = "godot",
request = "launch", request = "launch",
project = "${workspaceFolder}", project = "${workspaceFolder}",
additional_options = "", additional_options = "",
}, },
{ {
name = "Godot - Launch Current File", name = "Launch Current File",
type = "godot", type = "godot",
request = "launch", request = "launch",
scene = "current", scene = "current",
@ -97,15 +175,17 @@ return {
}) })
local dapui = require("dapui") local dapui = require("dapui")
vim.cmd("set mouse=n")
dapui.setup() dapui.setup()
dap.listeners.after.event_initialized["dapui_config"] = function() dap.listeners.after.event_initialized["dapui_config"] = function()
vim.cmd("set mouse=a")
dapui.open() dapui.open()
end end
dap.listeners.before.event_terminated["dapui_config"] = function() dap.listeners.before.event_terminated["dapui_config"] = function()
vim.cmd("set mouse=")
dapui.close() dapui.close()
end end
dap.listeners.before.event_exited["dapui_config"] = function() dap.listeners.before.event_exited["dapui_config"] = function()
vim.cmd("set mouse=")
dapui.close() dapui.close()
end end
end, end,

View File

@ -10,6 +10,14 @@ return {
}, },
shortcut = { shortcut = {
{ desc = "󰊳 Update", group = "@property", action = "Lazy update", key = "u" }, { desc = "󰊳 Update", group = "@property", action = "Lazy update", key = "u" },
{
desc = "󰦛 cwd session",
group = "Number",
action = function()
require("persistence").load()
end,
key = ".",
},
{ {
icon = "", icon = "",
icon_hl = "@variable", icon_hl = "@variable",
@ -19,21 +27,21 @@ return {
key = "f", key = "f",
}, },
{ {
desc = " Apps", desc = " dotfiles",
group = "DiagnosticHint",
action = "Telescope app",
key = "a",
},
{
desc = " dotfiles",
group = "Number", group = "Number",
action = "lua find_dotfiles()", action = "lua find_dotfiles()",
key = "d", key = "d",
}, },
{
desc = " sessions",
group = "Number",
action = "Telescope persisted",
key = "s",
},
}, },
}, },
}) })
end, end,
keys = { { "<C-Space>", ":Dashboard<CR>" } }, -- keys = { { "<C-Space>", ":Dashboard<CR>" } },
dependencies = { { "nvim-tree/nvim-web-devicons" } }, dependencies = { { "nvim-tree/nvim-web-devicons" } },
} }

View File

@ -1,11 +0,0 @@
return {
"andrewferrier/debugprint.nvim",
opts = {},
-- Dependency only needed for NeoVim 0.8
dependencies = {
"nvim-treesitter/nvim-treesitter",
},
-- Remove the following line to use development versions,
-- not just the formal releases
version = "*",
}

View File

@ -0,0 +1,6 @@
return {
-- {
-- "squk/google3.nvim",
-- dev = true,
-- },
}

View File

@ -0,0 +1,107 @@
-- disable underline
local use_google = require("utils").use_google
vim.diagnostic.handlers.underline.show = function() end
local signs = {
Error = "",
Warning = "",
Warn = "",
Hint = "",
Info = "",
Other = "",
}
for type, icon in pairs(signs) do
local hl = "DiagnosticSign" .. type
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl })
end
return {
{
"folke/trouble.nvim",
event = { "LspAttach" },
config = function()
-- Diagnostics
require("trouble").setup({
use_diagnostic_signs = true, -- enabling this will use the signs defined in your lsp client
})
end,
-- stylua: ignore
keys = {
{ "<leader>xt", ":Telescope diagnostics<CR>" },
{ "gr", ":Telescope lsp_references<CR>" },
{ "<leader>xd", ":Trouble diagnostics toggle <CR>" },
{ "<leader>xbd", ":Trouble diagnostics toggle filter.buf=0<CR>" },
{ "<leader>xe", ":Trouble diagnostics toggle filter.severity=vim.diagnostic.severity.ERROR<CR>" },
{ "[g", ":lua vim.diagnostic.goto_prev()<CR>" },
{ "]g", ":lua vim.diagnostic.goto_next()<CR>" },
},
},
{
"rachartier/tiny-inline-diagnostic.nvim",
event = "LspAttach",
priority = 1000, -- needs to be loaded in first
cond = not use_google(),
config = function()
vim.diagnostic.config({ virtual_text = false })
require("tiny-inline-diagnostic").setup({
preset = "classic", -- Can be: "modern", "classic", "minimal", "powerline", ghost", "simple", "nonerdfont", "amongus"
-- Show the source of the diagnostic.
show_source = false,
-- Use your defined signs in the diagnostic config table.
use_icons_from_diagnostic = true,
-- Enable diagnostic message on all lines.
multilines = true,
-- Show all diagnostics on the cursor line.
show_all_diags_on_cursorline = false,
})
end,
},
{
"ErichDonGubler/lsp_lines.nvim",
event = { "LspAttach" },
name = "lsp_lines.nvim",
cond = use_google(),
config = function()
require("lsp_lines").setup()
-- vim.schedule(function()
vim.diagnostic.config({
severity_sort = true,
virtual_text = false,
virtual_improved = {
severity = { min = vim.diagnostic.severity.WARN },
current_line = "hide",
},
virtual_lines = {
severity = { min = vim.diagnostic.severity.HINT },
highlight_whole_line = false,
only_current_line = true,
},
})
-- end)
end,
keys = {
{
"<leader>l",
function()
if vim.diagnostic.config().virtual_improved then
vim.diagnostic.config({ virtual_improved = false })
else
vim.diagnostic.config({
virtual_improved = {
severity = { min = vim.diagnostic.severity.WARN },
current_line = "hide",
},
})
end
end,
desc = "Toggle Virtual Text",
},
},
},
}

View File

@ -0,0 +1,38 @@
return {
"glacambre/firenvim",
-- Lazy load firenvim
-- Explanation: https://github.com/folke/lazy.nvim/discussions/463#discussioncomment-4819297
config = function()
vim.g.firenvim_config = {
localSettings = {
[ [[.*]] ] = {
cmdline = "firenvim",
priority = 0,
selector = 'textarea:not([readonly]):not([class="handsontableInput"]), div[role="textbox"]',
takeover = "always",
},
[ [[.*notion\.so.*]] ] = {
priority = 9,
takeover = "never",
},
[ [[.*docs\.google\.com.*]] ] = {
priority = 9,
takeover = "never",
},
[ [[google\.com.*]] ] = {
priority = 9,
takeover = "never",
},
[ [[twitch\.tv.*]] ] = {
priority = 9,
takeover = "never",
},
},
}
end,
lazy = not vim.g.started_by_firenvim,
build = function()
vim.fn["firenvim#install"](0)
end,
}

View File

@ -4,19 +4,14 @@ if not use_google() then
return {} return {}
end end
vim.opt.rtp:append("/google/src/head/depot/google3/experimental/users/fentanes/nvgoog") vim.opt.rtp:append("/google/src/head/depot/google3/experimental/users/fentanes/nvgoog/")
-- local glug = require("nvgoog.google.util.glug").glug
-- local glugOpts = require("nvgoog.google.util.glug").glugOpts
local glug = require("glug").glug local glug = require("glug").glug
local glugOpts = require("glug").glugOpts local glugOpts = require("glug").glugOpts
local veryLazy = require("nvgoog.util").veryLazy local superlazy = require("nvgoog.util.superlazy")
return { return {
{ url = "sso://user/fentanes/nvgoog" }, { import = "nvgoog.google.format" },
-- Prevent long sessions from losing cwd
-- Load google paths like //google/* with `gf`
{ import = "nvgoog.google.misc" },
-- maktaba is required by all google plugins -- maktaba is required by all google plugins
glug("maktaba", { glug("maktaba", {
lazy = true, lazy = true,
@ -25,44 +20,33 @@ return {
vim.cmd("source /usr/share/vim/google/glug/bootstrap.vim") vim.cmd("source /usr/share/vim/google/glug/bootstrap.vim")
end, end,
}), }),
glug("core"),
glug("glaive"),
glug("alert"),
glug("csearch"),
glug("languages"),
-- glug("googlestyle"),
glug("googlespell"),
-- Enable logmsgs ASAP to avoid maktaba's log message queue filling up
glug("logmsgs", {
event = "VeryLazy",
}),
glug("googler", { glug("googler", {
event = "VeryLazy", event = "VeryLazy",
}), }),
glug("glaive"),
glug("alert"),
glug("googlespell"),
-- Add support for google filetypes -- Add support for google filetypes
glug("google-filetypes", { glug("google-filetypes", { event = { "BufReadPre", "BufNewFile" }, dependencies = {} }),
event = "BufReadPre",
}), glug("add_usings"),
-- Set up syntax, indent, and core settings for various filetypes
veryLazy(glug("ft-cel")),
veryLazy(glug("ft-clif")),
veryLazy(glug("ft-cpp")),
veryLazy(glug("ft-gin")),
veryLazy(glug("ft-go")),
veryLazy(glug("ft-java")),
veryLazy(glug("ft-javascript")),
veryLazy(glug("ft-kotlin")),
veryLazy(glug("ft-proto")),
veryLazy(glug("ft-python")),
veryLazy(glug("ft-soy")),
-- Configures nvim to respect Google's coding style
veryLazy(glug("googlestyle")),
-- Autogens boilerplate when creating new files -- Autogens boilerplate when creating new files
glug("autogen", { glug("autogen", {
event = "BufNewFile", event = "BufNewFile",
}), }),
-- Adds G4 support to the vcscommand plugin -- Adds G4 support to the vcscommand plugin
glug("googlepaths"), glug("googlepaths"),
-- Set up syntax, indent, and core settings for various filetypes
superlazy(glug("ft-cpp", { event = "BufRead,BufNewFile *.[ch],*.cc,*.cpp" })),
superlazy(glug("ft-go", { event = "BufRead,BufNewFile *.go" })),
superlazy(glug("ft-java", { event = "BufRead,BufNewFile *.java" })),
superlazy(glug("ft-javascript", { event = "BufRead,BufNewFile *.js,*.jsx" })),
superlazy(glug("ft-kotlin", { event = "BufRead,BufNewFile *.kt,*.kts" })),
superlazy(glug("ft-python", { event = "BufRead,BufNewFile *.py" })),
-- Configures nvim to respect Google's coding style
superlazy(glug("googlestyle", { event = { "BufRead", "BufNewFile" } })),
glug("ft-soy"), glug("ft-soy"),
glug("ft-gss"), glug("ft-gss"),
glug("ft-proto"), glug("ft-proto"),
@ -90,20 +74,13 @@ return {
}, },
}), }),
glug("relatedfiles", { glug("relatedfiles", {
keys = { -- stylua: ignore
{ keys = {
"<leader>rb", { "<leader>rb", ":exec relatedfiles#selector#JumpToBuild()<CR>" },
":exec relatedfiles#selector#JumpToBuild()<CR>", { "<leader>rt", ":exec relatedfiles#selector#JumpToTestFile()<CR>" },
}, { "<leader>rh", ":exec relatedfiles#selector#JumpToHeader()<CR>" },
{ { "<leader>rc", ":exec relatedfiles#selector#JumpToCodeFile()<CR>" },
"<leader>rt", },
":exec relatedfiles#selector#JumpToTestFile()<CR>",
},
{
"<leader>rc",
":exec relatedfiles#selector#JumpToCodeFile()<CR>",
},
},
}), }),
{ "junegunn/fzf", dir = "~/.fzf", build = "./install --all" }, { "junegunn/fzf", dir = "~/.fzf", build = "./install --all" },
{ "junegunn/fzf.vim", dependencies = { "junegunn/fzf" } }, { "junegunn/fzf.vim", dependencies = { "junegunn/fzf" } },
@ -111,43 +88,42 @@ return {
glug("codefmt-google", { glug("codefmt-google", {
dependencies = { dependencies = {
glug("codefmt", { glug("codefmt", {
-- TODO: remove prettier when http://cl/549024543 is submitted and deployed
-- - remove prettier from the plugin options
-- - set js/ts to use prettier instead of clang-format
-- autocmd FileType javascript,typescript,javascriptreact,typescriptreact,css,scss,html,json AutoFormatBuffer prettier
opts = { opts = {
clang_format_executable = "/usr/bin/clang-format", clang_format_executable = "/usr/bin/clang-format",
clang_format_style = "function('codefmtgoogle#GetClangFormatStyle')", clang_format_style = "function('codefmtgoogle#GetClangFormatStyle')",
gofmt_executable = "/usr/lib/google-golang/bin/gofmt", gofmt_executable = "/usr/lib/google-golang/bin/gofmt",
prettier_executable = "/google/data/ro/teams/prettier/prettier", prettier_executable = "/google/data/ro/teams/prettier/prettier",
ktfmt_executable = { "/google/bin/releases/kotlin-google-eng/ktfmt/ktfmt", "--google-style" }, ktfmt_executable = { "/google/bin/releases/kotlin-google-eng/ktfmt/ktfmt", "--google-style" },
auto_format = {
["borg"] = "gclfmt",
["gcl"] = "gclfmt",
["patchpanel"] = "gclfmt",
["bzl"] = "buildifier",
["c"] = "clang-format",
["cpp"] = "clang-format",
["javascript"] = "clang-format",
["typescript"] = "clang-format",
["dart"] = "dartfmt",
["go"] = "gofmt",
["java"] = "google-java-format",
["kotlin"] = "ktfmt",
["jslayout"] = "jslfmt",
["markdown"] = "mdformat",
["ncl"] = "nclfmt",
["python,piccolo"] = "pyformat",
["soy"] = "soyfmt",
["textpb"] = "text-proto-format",
["proto"] = "protofmt",
["sql"] = "format_sql",
},
}, },
}), }),
}, },
opts = {
auto_format = {
["borg"] = "gclfmt",
["gcl"] = "gclfmt",
["patchpanel"] = "gclfmt",
["bzl"] = "buildifier",
["c"] = "clang-format",
["cpp"] = "clang-format",
["javascript"] = "clang-format",
["typescript"] = "clang-format",
["dart"] = "dartfmt",
["go"] = "gofmt",
["java"] = "google-java-format",
["kotlin"] = "ktfmt",
["jslayout"] = "jslfmt",
["markdown"] = "mdformat",
["ncl"] = "nclfmt",
["python,piccolo"] = "pyformat",
["soy"] = "soyfmt",
["textpb"] = "text-proto-format",
["proto"] = "protofmt",
["sql"] = "format_sql",
},
},
cmd = { "FormatLines", "FormatCode", "AutoFormatBuffer" }, cmd = { "FormatLines", "FormatCode", "AutoFormatBuffer" },
event = "BufWritePre", event = "VimEnter",
-- Setting up autocmds in init allows deferring loading the plugin until -- Setting up autocmds in init allows deferring loading the plugin until
-- the `BufWritePre` event. One caveat is we must call `codefmt#FormatBuffer()` -- the `BufWritePre` event. One caveat is we must call `codefmt#FormatBuffer()`
-- manually the first time since the plugin relies on the `BufWritePre` command to call it, -- manually the first time since the plugin relies on the `BufWritePre` command to call it,
@ -172,16 +148,7 @@ return {
}) })
end end
-- Build opts from possible parent specs since lazy.nvim doesn't provide it in `init` -- Build opts from possible parent specs since lazy.nvim doesn't provide it in `init`
local plugin_opts = {} local plugin_opts = require("lazy.core.plugin").values(plugin, "opts", false)
local curr_plugin = plugin
while curr_plugin do
if type(curr_plugin.opts) == "table" then
plugin_opts = require("lazy.core.util").merge(curr_plugin.opts, plugin_opts)
elseif type(curr_plugin.opts) == "function" then
plugin_opts = curr_plugin.opts(plugin, plugin_opts)
end
curr_plugin = curr_plugin._ and curr_plugin._.super or nil
end
for filetypes, formatter in pairs(plugin_opts.auto_format or {}) do for filetypes, formatter in pairs(plugin_opts.auto_format or {}) do
autocmd(filetypes, formatter) autocmd(filetypes, formatter)
end end
@ -205,40 +172,37 @@ return {
"BlazeDebugFinish", "BlazeDebugFinish",
"BlazeDepsUpdate", "BlazeDepsUpdate",
}, },
config = function()
require("config.blaze")
end,
keys = function() keys = function()
local function runCmd(cmd) local function runCommandWithTarget(cmd)
return function() return function()
vim.g._calling_blaze_cmd = 1 local targets = table.concat(vim.fn["blaze#GetTargets"](), " ")
vim.cmd(cmd) local command = "VimuxRunCommand('" .. cmd .. " " .. targets .. "')"
-- Clear the "blaze: SUCCESS" that blaze.vim will print print(vim.inspect(command))
if vim.g._call_blaze_query then vim.cmd(command)
print("")
end
vim.g._calling_blaze_cmd = 0
end end
end end
return { return {
{ "<leader>b", desc = "Blaze" }, { "<leader>b", desc = "Blaze" },
{ "<leader>bt", ":call BlazeTest()<CR>", desc = "Blaze Test" }, { "<leader>bb", runCommandWithTarget("blaze build"), desc = "Blaze Build" },
{ "<leader>bb", ":call BlazeBuild()<CR>", desc = "Blaze Build" }, { "<leader>br", runCommandWithTarget("blaze run"), desc = "Blaze Run" },
{ "<leader>br", ":call BlazeRun()<CR>", desc = "Blaze Run" }, { "<leader>bt", runCommandWithTarget("blaze test"), desc = "Blaze Test" },
{ "<leader>bc", runCommandWithTarget("build_cleaner"), desc = "Blaze Run" },
{ {
"<leader>yb", "<leader>yb",
":let t = join(blaze#GetTargets(), ' ') | echo t | let @+ = t <CR>", ":let t = join(blaze#GetTargets(), ' ') | echo t | let @+ = t | let @\" = t<CR>",
desc = "Yank Blaze Target", desc = "Yank Blaze Target",
}, },
{ "<leader>bf", runCmd("call blaze#TestCurrentFile()"), desc = "Blaze test current file" }, {
{ "<leader>bm", runCmd("call blaze#TestCurrentMethod()"), desc = "Blaze test current method" }, "<leader>bq",
{ "<leader>bd", desc = "Blaze debug" }, function()
{ "<leader>bdf", runCmd("BlazeDebugCurrentFileTest"), desc = "Blaze debug current file" }, local targets = vim.fn["blaze#GetTargets"]()
{ "<leader>bdm", runCmd("BlazeDebugCurrentTestMethod"), desc = "Blaze debug current method" }, for _, t in ipairs(targets) do
{ "<leader>bda", runCmd("BlazeDebugAddBreakpoint"), desc = "Blaze debug add breakpoint" }, print(vim.inspect(t))
{ "<leader>bdc", runCmd("BlazeDebugClearBreakpoint"), desc = "Blaze debug clear breakpoint" }, vim.cmd("VimuxRunCommand('blaze query " .. t:gsub(":.+", "") .. ":\\*" .. "')")
{ "<leader>bdf", runCmd("BlazeDebugFinish"), desc = "Blaze debug finish" }, end
{ "<leader>bu", runCmd("BlazeDepsUpdate"), desc = "Blaze update dependencies" }, end,
desc = "Blaze query the current package",
},
} }
end, end,
}), }),
@ -258,9 +222,14 @@ return {
}, },
cmd = { "ImpSuggest", "ImpFirst" }, cmd = { "ImpSuggest", "ImpFirst" },
keys = { keys = {
{ "<leader>i", ":ImpSuggest <C-r><C-w><cr>" }, { "<leader>I", ":ImpSuggest <C-r><C-w><cr>" },
}, },
}), }),
{
url = "sso://user/fentanes/googlepaths.nvim",
event = { "VeryLazy", "BufReadCmd //*", "BufReadCmd google3/*" },
opts = {},
},
{ {
name = "ai.nvim", name = "ai.nvim",
url = "sso://googler@user/vvvv/ai.nvim", url = "sso://googler@user/vvvv/ai.nvim",
@ -269,26 +238,31 @@ return {
name = "cmp-nvim-ciderlsp", name = "cmp-nvim-ciderlsp",
url = "sso://googler@user/piloto/cmp-nvim-ciderlsp", url = "sso://googler@user/piloto/cmp-nvim-ciderlsp",
event = "VimEnter", event = "VimEnter",
dependencies = {
"hrsh7th/nvim-cmp",
},
}, },
{ {
name = "ciderlsp-nvim", name = "ciderlsp-nvim",
url = "sso://googler@user/kdark/ciderlsp-nvim", url = "sso://googler@user/kdark/ciderlsp-nvim",
event = "VimEnter", event = "VimEnter",
dependencies = { },
"hrsh7th/nvim-cmp", {
url = "sso://user/jackcogdill/nvim-figtree",
keys = {
{
"<Leader>ft",
function()
require("figtree").toggle()
end,
},
},
opts = {
-- see |figtree-configuration| for all possible options
}, },
}, },
-- {
-- name = "nvim_figtree",
-- url = "sso://googler@user/jackcogdill/nvim-figtree",
-- },
{ {
name = "telescope_codesearch", name = "telescope_codesearch",
url = "sso://googler@user/vintharas/telescope-codesearch.nvim", url = "sso://googler@user/vintharas/telescope-codesearch.nvim",
dependencies = { "nvim-telescope/telescope.nvim" }, dependencies = { "nvim-telescope/telescope.nvim" },
config = function() end,
}, },
{ {
name = "telescope_citc", name = "telescope_citc",
@ -301,32 +275,34 @@ return {
dependencies = { "nvim-telescope/telescope.nvim" }, dependencies = { "nvim-telescope/telescope.nvim" },
}, },
{ {
name = "critique_nvim", name = "critique-nvim",
dir = "/google/src/cloud/cnieves/google-comments/google3/experimental/users/cnieves/neovim/critique-nvim/", dir = "~/critique-nvim/",
lazy = false,
dependencies = { dependencies = {
"rktjmp/time-ago.vim", "rktjmp/time-ago.vim",
"nvim-lua/plenary.nvim", "nvim-lua/plenary.nvim",
"nvim-telescope/telescope.nvim", "nvim-telescope/telescope.nvim",
"runiq/neovim-throttle-debounce", "runiq/neovim-throttle-debounce",
}, },
-- here are some mappings you might want:
keys = {
{ "<Leader>lc", ":CritiqueToggleLineComment<CR>" },
{ "<Leader>ac", ":CritiqueToggleAllComments<CR>" },
{ "<Leader>uc", ":CritiqueToggleUnresolvedComments<CR>" },
{ "<Leader>fc", ":CritiqueFetchComments<CR>" },
{ "<Leader>tc", ":CritiqueCommentsTelescope<CR>" },
},
config = function() config = function()
-- Here are all the options and their default values: -- Here are all the options and their default values:
require("critique.comments").setup({ require("critique.comments").setup({
-- debug = 1, -- default = 0
-- Fetch the comments after calling `setup`. -- Fetch the comments after calling `setup`.
auto_fetch = true, auto_fetch = true, -- default = true
display = { auto_render = true, -- default = true
render_resolved_threads = true, -- Allow checking for comments on BufEnter events. This is throttled to once every 10 seconds.
}, frequent_fetch = true, -- default = false
verbose_notifications = true,
}) })
local map = require("utils").map
-- here are some mappings you might want:
map("n", "]c", [[<Cmd>CritiqueGotoNextComment<CR>]])
map("n", "[c", [[<Cmd>CritiqueGotoPrevComment<CR>]])
map("n", "<Leader>lc", [[<Cmd>CritiqueToggleLineComments<CR>]])
map("n", "<Leader>ac", [[<Cmd>CritiqueToggleAllComments<CR>]])
map("n", "<Leader>fc", [[<Cmd>CritiqueFetchComments<CR>]])
map("n", "<Leader>tc", [[<Cmd>CritiqueCommentsTelescope<CR>]])
end, end,
}, },
{ {
@ -340,7 +316,6 @@ return {
url = "sso://googler@user/smwang/hg.nvim", url = "sso://googler@user/smwang/hg.nvim",
dependencies = { "ipod825/libp.nvim" }, dependencies = { "ipod825/libp.nvim" },
config = function() config = function()
require("config.fig")
require("hg").setup() require("hg").setup()
end, end,
}, },

View File

@ -0,0 +1,11 @@
return {
"folke/lazydev.nvim",
ft = "lua", -- only load on lua files
opts = {
library = {
-- See the configuration section for more details
-- Load luvit types when the `vim.uv` word is found
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
},
},
}

View File

@ -1,6 +0,0 @@
return {
"ggandor/leap.nvim",
config = function()
require("leap").add_default_mappings()
end,
}

View File

@ -1,95 +1,140 @@
local use_google = require("utils").use_google local use_google = require("utils").use_google
local flags = require("utils").flags
local function add_import()
vim.lsp.buf.code_action({
apply = true,
context = {
only = { "quickfix.addImports" },
},
})
end
local deps = {
"hrsh7th/nvim-cmp",
"nvim-lua/lsp-status.nvim",
"VonHeikemen/lsp-zero.nvim",
"rcarriga/nvim-notify",
"ray-x/go.nvim",
"ray-x/guihua.lua",
}
return { return {
{ {
"L3MON4D3/LuaSnip", "kosayoda/nvim-lightbulb",
build = "make install_jsregexp", commit = "1cae7b7153ae98dcf1b11173a443ac1b6d8e3d49",
config = function() event = { "LspAttach" },
require("luasnip.loaders.from_vscode").lazy_load() opts = {
end, autocmd = { enabled = true },
dependencies = { "rafamadriz/friendly-snippets" }, virtual_text = {
}, enabled = true,
{ text = " 󱐋",
"hinell/lsp-timeout.nvim", hl = "DiagnosticWarn",
dependencies = { "neovim/nvim-lspconfig" }, },
cond = not use_google(), sign = { enabled = false },
config = function() },
vim.g.lspTimeoutConfig = { },
filetypes = { {
ignore = { -- filetypes to ignore; empty by default "L3MON4D3/LuaSnip",
"gdscript", build = "make install_jsregexp",
}, -- for these filetypes config = function()
}, require("luasnip.loaders.from_vscode").lazy_load()
} end,
end, dependencies = { "rafamadriz/friendly-snippets" },
}, },
{ {
"neovim/nvim-lspconfig", "ray-x/go.nvim",
dependencies = deps, dependencies = { -- optional packages
keys = { "ray-x/guihua.lua",
{ "<leader>rn", "<cmd>lua vim.lsp.buf.rename()<CR>" }, "neovim/nvim-lspconfig",
{ "?", "<cmd>lua vim.lsp.buf.code_action()<CR>" }, "nvim-treesitter/nvim-treesitter",
{ "L", "<cmd>lua vim.lsp.buf.hover()<CR>" }, },
{ "g0", "<cmd>lua vim.lsp.buf.document_symbol()<CR>" }, -- cond = not use_google(),
{ "gr", "<Cmd>Telescope lsp_references<CR>" }, config = function()
{ "gW", "<cmd>lua vim.lsp.buf.workspace_symbol()<CR>" }, local capabilities = flags.blink
{ "gd", "<cmd>lua vim.lsp.buf.definition()<CR>" }, and require("blink.cmp").get_lsp_capabilities(vim.lsp.protocol.make_client_capabilities())
{ "gD", "<cmd>tab split | lua vim.lsp.buf.definition()<CR>" }, or require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities())
{ "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>" }, capabilities.offsetEncoding = { "utf-16" }
{ "gI", "<cmd>lua vim.lsp.buf.implementation()<CR>" }, require("go").setup({
{ "gR", "<cmd>lua vim.lsp.buf.references()<CR>" }, lsp_cfg = { capabilities = capabilities },
{ "<C-g>", "<cmd>lua vim.lsp.buf.signature_help()<CR>" }, lsp_keymaps = false,
{ "gt", "<cmd>lua vim.lsp.buf.type_definition()<CR>" }, lsp_inlay_hints = {
{ "<C-g>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", mode = "i" }, enable = not use_google(), -- doesn't work with ciderlsp
{ "<leader>ca", "<cmd>lua vim.lsp.buf.code_action()<CR>", mode = "v" }, },
}, })
config = function() -- Run gofmt + goimports on save
local lsp_status = require("lsp-status")
lsp_status.register_progress()
vim.opt.spell = true local format_sync_grp = vim.api.nvim_create_augroup("goimports", {})
vim.opt.spelllang = { "en_us" }
local capabilities =
require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities())
capabilities = vim.tbl_extend("keep", capabilities or {}, lsp_status.capabilities)
local lspconfig = require("lspconfig")
local configs = require("lspconfig.configs")
require("config.lsp-google").setup(capabilities)
-- Godot
lspconfig.gdscript.setup({
-- flags = {
-- debounce_text_changes = 2000, -- Wait 5 seconds before sending didChange
-- },
})
vim.cmd([[autocmd FileType gdscript setlocal commentstring=#\ %s]])
vim.cmd([[autocmd FileType gdscript setlocal autoindent noexpandtab tabstop=4 shiftwidth=4]])
-- Golang
require("go").setup({
lsp_cfg = {
capabilities = capabilities,
},
})
local format_sync_grp = vim.api.nvim_create_augroup("GoFormat", {})
vim.api.nvim_create_autocmd("BufWritePre", { vim.api.nvim_create_autocmd("BufWritePre", {
pattern = "*.go", pattern = "*.go",
callback = function() callback = function()
require("go.format").goimport() require("go.format").goimports()
end, end,
group = format_sync_grp, group = format_sync_grp,
}) })
end, end,
ft = { "go", "gomod" },
build = ':lua require("go.install").update_all_sync()', -- if you need to install/update all binaries
}, },
{
"neovim/nvim-lspconfig",
dependencies = {
"hrsh7th/nvim-cmp",
"saghen/blink.cmp",
"saghen/blink.compat",
"nvim-lua/lsp-status.nvim",
"VonHeikemen/lsp-zero.nvim",
},
keys = {
{ "<leader>F", ":lua vim.lsp.buf.format()<CR>" },
{ "<leader>i", add_import },
{ "<leader>rn", ":lua vim.lsp.buf.rename()<CR>" },
{ "L", ":lua vim.lsp.buf.hover()<CR>" },
{ "gr", ":Telescope lsp_references<CR>" },
{ "gd", ":lua vim.lsp.buf.definition()<CR>" },
-- { "gd", "<cmd>Telescope lsp_definitions<CR>" },
{ "gD", ":tab split | lua vim.lsp.buf.definition()<CR>" },
{ "gi", ":lua vim.lsp.buf.implementation()<CR>" },
{ "gI", ":lua vim.lsp.buf.implementation()<CR>" },
{ "gR", ":lua vim.lsp.buf.references()<CR>" },
{ "gt", ":lua vim.lsp.buf.type_definition()<CR>" },
{ "<C-g>", ":lua vim.lsp.buf.signature_help()<CR>" },
{ "<C-g>", ":lua vim.lsp.buf.signature_help()<CR>", mode = "i" },
},
config = function()
local lspconfig = require("lspconfig")
local lsp_configs = require("lspconfig.configs")
lsp_configs.ciderlsp = {
default_config = {
cmd = {
"/google/bin/releases/cider/ciderlsp/ciderlsp",
"--tooltag=nvim-lsp",
"--noforward_sync_responses",
},
filetypes = {
"c",
"cpp",
"java",
"kotlin",
"objc",
"proto",
"textproto",
"go",
"python",
"bzl",
"typescript",
},
offset_encoding = "utf-8",
root_dir = lspconfig.util.root_pattern(".citc"),
settings = {},
},
}
if use_google() then
lspconfig.ciderlsp.setup({})
end
lspconfig.gdscript.setup({})
-- require('lspconfig').gdscript.setup { cmd = { "ncat", "localhost", "6005" }, root_dir = function()
-- return vim.fs.dirname(vim.fs.find('project.godot', { upward = true })[1])
-- end
-- }
vim.cmd([[autocmd FileType gdscript setlocal commentstring=#\ %s]])
vim.cmd([[autocmd FileType gdscript setlocal autoindent noexpandtab tabstop=4 shiftwidth=4 wrap]])
end,
},
} }

View File

@ -1,41 +0,0 @@
return {
url = "https://git.sr.ht/~whynothugo/lsp_lines.nvim",
event = "VimEnter",
name = "lsp_lines.nvim",
config = function()
local signs = {
Error = "",
Warning = "",
Hint = "",
Info = "",
Other = "",
}
for type, icon in pairs(signs) do
local hl = "DiagnosticSign" .. type
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl })
end
require("lsp_lines").setup()
vim.schedule(function()
vim.diagnostic.config({
virtual_text = true,
virtual_lines = { highlight_whole_line = false, only_current_line = true },
})
end)
end,
keys = {
{
"<leader>l",
function()
local new_value = not vim.diagnostic.config().virtual_lines.only_current_line
vim.diagnostic.config({
virtual_text = not new_value,
virtual_lines = { only_current_line = new_value },
})
return new_value
end,
desc = "Toggle LSP Lines",
},
},
}

View File

@ -1,84 +1,41 @@
local split = function(inputstr, sep)
local t = {}
for str in string.gmatch(inputstr, "([^" .. sep .. "]+)") do
table.insert(t, str)
end
return t
end
local function getCitc()
local fname = vim.api.nvim_buf_get_name(0)
if string.find(fname, "/google/src/cloud/", 1, true) then
local parts = split(fname, "/")
return parts[5]
end
end
local function isCiderLspAttached()
if vim.b["is_cider_lsp_attached"] then
if vim.b["is_cider_lsp_attached"] == "yes" then
return ""
else
return "x"
end
else
return ""
end
end
local function getLightbulb()
return require("nvim-lightbulb").get_status_text()
end
local function getLGTMs()
local comments = require("google.comments")
local tracker = require("google.comments.tracker")
local dump = require("utils").dump
print(dump(tracker.get_all_comments()))
local lgtm = comments.get_lgtms()
local appr = comments.get_approvals()
print("lgtms" .. dump(lgtm))
print("approvals" .. dump(appr))
return "LGTM:" .. table.concat(lgtm, ",") .. " Approval:" .. table.concat(appr, ",")
end
return { return {
"nvim-lualine/lualine.nvim", "nvim-lualine/lualine.nvim",
lazy = false, lazy = false,
config = function() config = function()
local lsp_status = require("lsp-status") local lsp_status = require("lsp-status")
require("lualine").setup({ require("lualine").setup({
options = { options = {
theme = "auto", theme = "auto",
globalstatus = false, globalstatus = false,
refresh = { refresh = {
statusline = 1000, statusline = 100,
-- tabline = 1000, tabline = 100,
winbar = 1000, winbar = 100,
}, },
}, },
sections = { sections = {
lualine_a = { "mode" }, lualine_a = { "mode" },
lualine_b = { "branch", "diff", getCitc, isCiderLspAttached }, lualine_b = { "branch", "diff" },
lualine_c = { lualine_c = {
getLightbulb, require("nvim-lightbulb").get_status_text,
{ {
"filename", "filename",
path = 4, -- 0 = just filename, 1 = relative path, 2 = absolute path path = 4, -- 0 = just filename, 1 = relative path, 2 = absolute path
}, },
}, },
lualine_x = { lualine_x = {
"", "",
{ {
"diagnostics", "diagnostics",
sources = { "nvim_lsp" }, sources = { "nvim_lsp" },
symbols = { error = "", warn = "", info = "", hint = "" }, symbols = { error = "", warn = "", info = "", hint = "" },
}, },
"filetype", "filetype",
}, },
lualine_y = { "progress" }, lualine_y = { "progress" },
lualine_z = { "location" }, lualine_z = { "location" },
}, },
}) })
end, end,
} }

View File

@ -1,10 +0,0 @@
return {
{
"L3MON4D3/LuaSnip",
-- follow latest release.
version = "<CurrentMajor>.*", -- Replace <CurrentMajor> by the latest released major (first number of latest release)
-- install jsregexp (optional!).
build = "make install_jsregexp",
},
{ "saadparwaiz1/cmp_luasnip" },
}

Some files were not shown because too many files have changed in this diff Show More