Compare commits
205 Commits
4389d94876
...
main
Author | SHA1 | Date | |
---|---|---|---|
036a55effc | |||
8345f91cc8 | |||
b5e0e2ebf5 | |||
1f30ce43c7 | |||
edf9ae6ada | |||
28ac8a99b9 | |||
8b3bd23fa6 | |||
e4efa6b209 | |||
e588888143 | |||
d261f8b3bd | |||
5f814e7560 | |||
f9a40408aa | |||
a6eee81db6 | |||
a9a196baf1 | |||
2907bda8d3 | |||
348b966c1a | |||
736ba50a7a | |||
758afadb6f | |||
4c5bd3505f | |||
76686a0e87 | |||
f595b1fcfa | |||
8dc9131c46 | |||
27f00e77e6 | |||
d56eb258cd | |||
a1880dcdad | |||
e242d6eb56 | |||
3554761a0c | |||
3b3f3c05bd | |||
8643bd99f3 | |||
9d5f671e4f | |||
52dbbb30fd | |||
ee8d429c66 | |||
a079ad36cc | |||
e53d35ed17 | |||
55b8aab06a | |||
2e945be118 | |||
4d94c9cad7 | |||
53fdcbb4dc | |||
6e33c078e5 | |||
c04a169229 | |||
e0daf87594 | |||
270934d29c | |||
053eeb07fd | |||
8b8046878f | |||
196c9d1a3b | |||
9988bd13b2 | |||
0300264961 | |||
1bbcef640d | |||
5e739703d0 | |||
d0b81f87cb | |||
f815679d89 | |||
513dfe695f | |||
c869fbd48a | |||
6f857496c0 | |||
3ea53a113f | |||
fe2fed17ed | |||
3ae68d6e0b | |||
7942d2083c | |||
664c555107 | |||
9ceca10f72 | |||
b016ad5d56 | |||
d06b8c1693 | |||
aefb0f1815 | |||
bcc9f32bdb | |||
1fe1ca6c71 | |||
afbe9737b7 | |||
22e5f66830 | |||
7206fae3b7 | |||
07c24bdafd | |||
42ec292e7c | |||
20381a149d | |||
38f84a6dd9 | |||
ce6295b69a | |||
3d4f13be75 | |||
d29d3be651 | |||
b3f51ae147 | |||
1349bf971b | |||
47cead8c63 | |||
3c1d572ce7 | |||
29bb1af1e0 | |||
3cf440ec45 | |||
83c9f57328 | |||
6f86454397 | |||
a76bbde00c | |||
111e7dfe23 | |||
c263826a50 | |||
7e76e91f8b | |||
0693f6618d | |||
d2c2bd908b | |||
03c791b8d6 | |||
b296094f42 | |||
33e88f60ba | |||
22d681a3d2 | |||
6bdd165942 | |||
dc1332f024 | |||
50761bc157 | |||
f237b861fc | |||
f0b4b89b9b | |||
7744a799f0 | |||
0f5151bcc2 | |||
859c175d5a | |||
b05f7b15be | |||
d632924ca7 | |||
1dfaac5950 | |||
a6086451c8 | |||
0202fcc32c | |||
82411e7b77 | |||
81cc999670 | |||
c5ff1347fe | |||
c698b10503 | |||
9b0360a291 | |||
47b94a3bc4 | |||
07e5fe880f | |||
4a80441b38 | |||
1c5740014f | |||
f9acecd558 | |||
31b1510b06 | |||
b4bd109458 | |||
0d333a2116 | |||
fe48c126db | |||
e4dfbb859d | |||
abea67f918 | |||
df2e294c26 | |||
c233e7b78d | |||
6e639bf24a | |||
d3a6c45a98 | |||
8a4fdc0e0b | |||
822daa2ff0 | |||
28070c2640 | |||
0aef98bb0a | |||
5840cc2b2d | |||
1fb4a36781 | |||
934a73ec88 | |||
f0950d47bd | |||
7af5f17c9b | |||
14a4da6b6c | |||
26a5f90ee5 | |||
d2e6748eeb | |||
27955c4f97 | |||
e4926e135c | |||
a865a14bb7 | |||
bfd786f261 | |||
51b5fe4008 | |||
bd7b27cd71 | |||
1b8244ea28 | |||
d4c557acf9 | |||
90033636e5 | |||
16fb43e7a2 | |||
ae0055a5db | |||
9fe3e152c9 | |||
ef6089dda9 | |||
70ec22f3c6 | |||
55546ec792 | |||
c18fd3f78a | |||
518d7e48d7 | |||
b55efeec7f | |||
2d1f84f463 | |||
00be311d98 | |||
92ea9df483 | |||
a91b231e04 | |||
a37f9dab1c | |||
c19d01dc21 | |||
80b8c0e214 | |||
3f48940604 | |||
f1d6172101 | |||
d415cebf88 | |||
3021fa292c | |||
2e22f0fe46 | |||
17be2aaebc | |||
2de15ad9fc | |||
d3f28cd1da | |||
523ff3068d | |||
44c0523801 | |||
27d2ea5b33 | |||
721435ae71 | |||
b1203719a5 | |||
9e3e66cb44 | |||
829587e8aa | |||
bad2e79905 | |||
9ce43365b6 | |||
3d87ed8892 | |||
5995aeaf32 | |||
cbb6f0cb51 | |||
7c53740379 | |||
e7b4ac0938 | |||
fbb093c9c4 | |||
99aa469fc4 | |||
372e453a71 | |||
4d66bfe32b | |||
2fcda354a9 | |||
df15c25cd5 | |||
ece8d50bef | |||
a8e22c563e | |||
4eaaf0658e | |||
6688d3d625 | |||
1386dab29e | |||
1fe231aad5 | |||
19cc47ca3f | |||
c246ee6f06 | |||
7e728701e8 | |||
3d0f3b11ae | |||
7eda409f2b | |||
d2d3d932d8 | |||
87c1c50639 | |||
57cea17bca |
49
alacritty/.alacritty.toml
Normal file
49
alacritty/.alacritty.toml
Normal 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"
|
1
config/.config/.gitignore
vendored
Normal file
1
config/.config/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
StardewValley
|
@ -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>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -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>
|
File diff suppressed because it is too large
Load Diff
11
config/.config/gtk-2.0/gtkfilechooser.ini
Normal file
11
config/.config/gtk-2.0/gtkfilechooser.ini
Normal 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
|
4
config/.config/nvim/after/ftplugin/bzl.vim
Normal file
4
config/.config/nvim/after/ftplugin/bzl.vim
Normal file
@ -0,0 +1,4 @@
|
||||
set expandtab
|
||||
set tabstop=4
|
||||
set softtabstop=4
|
||||
set shiftwidth=4
|
@ -3,4 +3,4 @@ set nowrap
|
||||
set tabstop=4
|
||||
set softtabstop=4
|
||||
set shiftwidth=4
|
||||
set noexpandtab
|
||||
set expandtab
|
||||
|
7
config/.config/nvim/after/ftplugin/go.vim
Normal file
7
config/.config/nvim/after/ftplugin/go.vim
Normal file
@ -0,0 +1,7 @@
|
||||
set tabstop=2
|
||||
set shiftwidth=2
|
||||
set softtabstop=2
|
||||
set expandtab
|
||||
|
||||
set textwidth=80
|
||||
set colorcolumn=80
|
30
config/.config/nvim/init.lua
Normal file
30
config/.config/nvim/init.lua
Normal 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/"
|
@ -1 +0,0 @@
|
||||
source ~/.vimrc
|
@ -1,118 +1,3 @@
|
||||
{
|
||||
"Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" },
|
||||
"LuaSnip": { "branch": "master", "commit": "c7984d1cca3d8615e4daefc196597872a0b8d590" },
|
||||
"aerial.nvim": { "branch": "master", "commit": "fb1f08c9f90e8b0c04b2f2c5d95d06288a14c5b2" },
|
||||
"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": "079500a625f3ae5aa6efb758f1a17fe4c7a57e52" },
|
||||
"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": "50792f34a628ea6eb31d2c90e8df174671e4e7a0" },
|
||||
"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" },
|
||||
"crates.nvim": { "branch": "main", "commit": "1dffccc0a95f656ebe00cacb4de282473430c5a1" },
|
||||
"debugprint.nvim": { "branch": "main", "commit": "661eea1d6f8237097ae372578fbe7458d690a3ac" },
|
||||
"firenvim": { "branch": "master", "commit": "138424db463e6c0e862a05166a4ccc781cd7c19d" },
|
||||
"formatter.nvim": { "branch": "master", "commit": "cb4778b8432f1ae86dae4634c0b611cb269a4c2f" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "53d3df271d031c405255e99410628c26a8f0d2b0" },
|
||||
"fzf": { "branch": "master", "commit": "87fc1c84b8700e694ec341b36ac3ce29a7a30e6b" },
|
||||
"fzf.vim": { "branch": "master", "commit": "1e054c1d075d87903647db9320116d360eb8b024" },
|
||||
"git-conflict.nvim": { "branch": "main", "commit": "4e0191c9a0ae05d7fbdcdc7f15cd358f56d23bfb" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "d195f0c35ced5174d3ecce1c4c8ebb3b5bc23fa9" },
|
||||
"go.nvim": { "branch": "master", "commit": "1d140eec2a1ca90a0f2c685c7869724b2af72d26" },
|
||||
"guihua.lua": { "branch": "master", "commit": "9fb6795474918b492d9ab01b1ebaf85e8bf6fe0b" },
|
||||
"harpoon": { "branch": "harpoon2", "commit": "9031087ff1b18d0a34bd664719ec66cc8be1efd8" },
|
||||
"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": "bad02b384173c8a1bb9e66dea9f50c852deef8d6" },
|
||||
"libp.nvim": { "branch": "main", "commit": "636b1748e92f66022c1763f32b2ded6b8606eda5" },
|
||||
"lsp-status.nvim": { "branch": "master", "commit": "54f48eb5017632d81d0fd40112065f1d062d0629" },
|
||||
"lsp-zero.nvim": { "branch": "v2.x", "commit": "ffebf6f7b0649f1eb81b37c37b75552f8ff96337" },
|
||||
"lsp_lines.nvim": { "branch": "main", "commit": "cf2306dd332e34a3e91075b40bdd4f6db824b2ee" },
|
||||
"lspkind.nvim": { "branch": "master", "commit": "57610d5ab560c073c465d6faf0c19f200cb67e6e" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" },
|
||||
"luasnip-google.nvim": { "branch": "main", "commit": "5fd7feb144de0ecea837618c9c9e1bbecc0e3243" },
|
||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "9453e3d6cd2ca45d96e20f343e8f1b927364b630" },
|
||||
"mason.nvim": { "branch": "main", "commit": "41e75af1f578e55ba050c863587cffde3556ffa6" },
|
||||
"mellifluous.nvim": { "branch": "main", "commit": "255ca5326477f315e64a9ff0af03e033f4dd7ae8" },
|
||||
"mini.splitjoin": { "branch": "main", "commit": "2b4ade24c1d46ce98801b74fc84241d7b676f9f4" },
|
||||
"mkdir.nvim": { "branch": "main", "commit": "c55d1dee4f099528a1853b28bb28caa802eba217" },
|
||||
"neo-tree.nvim": { "branch": "v2.x", "commit": "80dc74d081823649809f78370fa5b204aa9a853a" },
|
||||
"neodev.nvim": { "branch": "main", "commit": "018e1161ed771ef2b54f346240bcf69931594396" },
|
||||
"neoscopes": { "branch": "main", "commit": "470dff042004b93c10d262e8b0ad7bf6f703f86f" },
|
||||
"neovim-ayu": { "branch": "master", "commit": "76dbf939b38e03ac5f9bd711ab3e434999f715c8" },
|
||||
"neovim-throttle-debounce": { "branch": "main", "commit": "5247b097df15016ab31db672b77ec4938bb9cbfd" },
|
||||
"nui.nvim": { "branch": "main", "commit": "c9b4de623d19a85b353ff70d2ae9c77143abe69c" },
|
||||
"nvgoog": { "branch": "main", "commit": "6ea744560a6d222ac15df95e43d349af11e99436" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" },
|
||||
"nvim-cmp-buffer-lines": { "branch": "master", "commit": "924ccc04dc5c919b6baa05d45818025baa82699a" },
|
||||
"nvim-dap": { "branch": "master", "commit": "e64ebf3309154b578a03c76229ebf51c37898118" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "34160a7ce6072ef332f350ae1d4a6a501daf0159" },
|
||||
"nvim-jdtls": { "branch": "master", "commit": "66b5ace68a5d1c45fdfb1afa8d847e87af2aa1f8" },
|
||||
"nvim-lightbulb": { "branch": "master", "commit": "8f00b89dd1b1dbde16872bee5fbcee2e58c9b8e9" },
|
||||
"nvim-lint": { "branch": "master", "commit": "32f98300881f38f4e022391f240188fec42f74db" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "e85816c5803410cacb52e9b4fbdb72a1f1a6bd11" },
|
||||
"nvim-luapad": { "branch": "master", "commit": "a5b3d6aa1fe5fe75e6124927392a9d3a60a0ecce" },
|
||||
"nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" },
|
||||
"nvim-scrollbar": { "branch": "main", "commit": "35f99d559041c7c0eff3a41f9093581ceea534e8" },
|
||||
"nvim-surround": { "branch": "main", "commit": "703ec63aa798e5e07d309b35e42def34bebe0174" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "0dfbf5e48e8551212c2a9f1c74cb080c8e76b5d1" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "a1425903ab52a0a0460622519e827f224e5b4fee" },
|
||||
"omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "53edfb413a54c9e55dcddc9e9fa4977a897e4425" },
|
||||
"onedark.nvim": { "branch": "main", "commit": "b5161f0c631571640485be5d1c059cab82c86872" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" },
|
||||
"refactoring.nvim": { "branch": "master", "commit": "156532476deb10b1b2a32cb38e1078b3f9951c42" },
|
||||
"registers.nvim": { "branch": "main", "commit": "7a16c6e6fe96f3c9c8bb55b95047d745dd34ca4d" },
|
||||
"rust-tools.nvim": { "branch": "master", "commit": "0cc8adab23117783a0292a0c8a2fbed1005dc645" },
|
||||
"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": "4e2d5efb92062f0b865fe59b200b5ed7793833bf" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "6213322ab56eb27356fdc09a5078e41e3ea7f3bc" },
|
||||
"telescope_citc": { "branch": "main", "commit": "f0f74127e262d097119d2946634d3aa7e49b0c2f" },
|
||||
"telescope_codesearch": { "branch": "main", "commit": "a26077ad3c68cf897ae1c31da903d6516ebb9c92" },
|
||||
"telescope_fig": { "branch": "main", "commit": "f6122fe82417ebeaddb9343cfd5584f62a4b8df8" },
|
||||
"time-ago.vim": { "branch": "master", "commit": "be978d5c790cfcc41f524205f28783b9937fd0ee" },
|
||||
"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": "1b22dc57a2751c7afbc6025a7da39b7c22db635d" },
|
||||
"vim-conjoin": { "branch": "master", "commit": "2ea3b8ed994d12bbf255825d973d865621c64860" },
|
||||
"vim-floaterm": { "branch": "master", "commit": "3f01a623376957437f9376327637491b74719e38" },
|
||||
"vim-imp": { "branch": "main", "commit": "770c65e23e9d13b76126bfee3715a6345adf518e" },
|
||||
"vim-maktaba": { "branch": "master", "commit": "fe95bb10f6bb250943a44632107f6a3d76ce5f28" },
|
||||
"vim-matchup": { "branch": "master", "commit": "2550178c43464134ce65328da458905f70dbe041" },
|
||||
"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": "7db70e08ea03b3e4d91f63713d76134512e28d7e" },
|
||||
"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" }
|
||||
}
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }
|
||||
}
|
||||
|
@ -8,3 +8,4 @@ collsion_body
|
||||
shake_decay
|
||||
index
|
||||
func/!
|
||||
lookup_app_pointer_handle/!
|
||||
|
Binary file not shown.
83
config/.config/nvim/syntax/gotmpl.vim
Normal file
83
config/.config/nvim/syntax/gotmpl.vim
Normal 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"
|
166
config/.config/rizin/cutter.ini
Normal file
166
config/.config/rizin/cutter.ini
Normal file
File diff suppressed because one or more lines are too long
112
config/.config/xbuild/pkgconfig-cache-2.xml
Normal file
112
config/.config/xbuild/pkgconfig-cache-2.xml
Normal 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>
|
9
config/.config/zsh-abbr/user-abbreviations
Normal file
9
config/.config/zsh-abbr/user-abbreviations
Normal 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
9
config/.ripgreprc
Normal 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
|
BIN
git/..gitconfig.un~
Normal file
BIN
git/..gitconfig.un~
Normal file
Binary file not shown.
@ -1,15 +1,12 @@
|
||||
[user]
|
||||
name = Christian Nieves
|
||||
email = cnieves@google.com
|
||||
name = Christian Nieves
|
||||
email = cnieves@google.com
|
||||
[color]
|
||||
ui = auto
|
||||
[repo]
|
||||
superprojectChoiceExpire = 1643929280
|
||||
superprojectChoice = true
|
||||
ui = auto
|
||||
[url "ssh://git@github.com/"]
|
||||
insteadOf = https://github.com/
|
||||
insteadOf = https://github.com/
|
||||
[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
|
||||
l = log --pretty=format:"%C(yellow)%h\\ %ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short
|
||||
|
||||
@ -37,17 +34,69 @@
|
||||
la = "!git config -l | grep alias | cut -c 7-"
|
||||
po = push origin
|
||||
[core]
|
||||
autocrlf = false
|
||||
autocrlf = false
|
||||
excludesfile = /Users/christian/.gitignore_global
|
||||
[icdiff]
|
||||
options = --highlight --line-numbers
|
||||
options = --highlight --line-numbers
|
||||
[merge]
|
||||
tool = "nvim"
|
||||
[mergetool "nvim"]
|
||||
cmd = nvim -d -c \"wincmd l\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\"
|
||||
[diff]
|
||||
tool = icdiff
|
||||
cmd = nvim -d -c \"wincmd l\" \"$LOCAL\" \"$MERGED\" \"$REMOTE\"
|
||||
[filter "lfs"]
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
process = git-lfs filter-process
|
||||
required = true
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
process = git-lfs filter-process
|
||||
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
19
git/.gitignore_global
Normal 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
73
google/.alacritty.toml
Normal 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"
|
@ -26,14 +26,13 @@
|
||||
# --order_output=no: By default, blaze query orders the outputs. This can be expensive,
|
||||
# so this flag disables the ordering step.
|
||||
build --nostamp
|
||||
# build --workspace_status_command=/bin/true
|
||||
# build --experimental_spawn_scheduler
|
||||
build --workspace_status_command=/bin/true
|
||||
build --trim_test_configuration
|
||||
build --show_progress_rate_limit=1
|
||||
# query --order_output=no
|
||||
|
||||
# --test_output / --test_summary obviously don’t do anything for performance,
|
||||
# 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
|
||||
|
||||
# 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
|
||||
build --config=gmscore_tap
|
||||
test --config=gmscore_test
|
||||
test --test_output=all
|
||||
#
|
||||
test --config=gmscore_test_debug
|
||||
|
||||
# https://g3doc.corp.google.com/devtools/blaze/g3doc/faq.md?cl=head#BlazeOom
|
||||
startup --host_jvm_args=-Xmx18G --host_jvm_args=-Xms18G
|
||||
|
13
google/.hgrc
13
google/.hgrc
@ -16,15 +16,15 @@ opts.vimdiff = -d
|
||||
# opts.vimdiff = -c ':call ShowMercurialDiff(argv(0), argv(1))'
|
||||
|
||||
[extensions]
|
||||
unsupported.tree =
|
||||
unsupported.alices =
|
||||
# unsupported.tree =
|
||||
# unsupported.alices =
|
||||
extdiff =
|
||||
color =
|
||||
# color =
|
||||
beautifygraph =
|
||||
|
||||
[alices]
|
||||
findings.extra_args = --proxy
|
||||
summarize.extra_args = --proxy
|
||||
# [alices]
|
||||
# findings.extra_args = --proxy
|
||||
# summarize.extra_args = --proxy
|
||||
|
||||
[merge-tools]
|
||||
vimdiff.executable = nvim
|
||||
@ -51,6 +51,7 @@ dt = icdiff --pager=on
|
||||
dtex = dt -r exported(.)
|
||||
dtp4 = dt -r p4base
|
||||
dtup = dt -r .^
|
||||
ra = revert --all
|
||||
|
||||
whatsout = status -n --change . --template=hgshort_status
|
||||
what = status -n --change . --template=hgshort_status
|
||||
|
@ -1,2 +0,0 @@
|
||||
parren
|
||||
yurilev
|
@ -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).
|
@ -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
|
@ -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
|
@ -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
|
@ -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')
|
@ -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
|
@ -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))
|
@ -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
|
@ -52,16 +52,14 @@ set -g status on
|
||||
set-option -g status-interval 2
|
||||
bind Escape confirm-before "kill-server"
|
||||
|
||||
# Automatically set window title
|
||||
set-window-option -g automatic-rename off
|
||||
set-window-option -g allow-rename on
|
||||
#set-option -g set-titles on
|
||||
# set-option -g automatic-rename on
|
||||
# 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 xterm-keys on
|
||||
set-option -g xterm-keys on
|
||||
set -g status-keys vi
|
||||
|
||||
set-window-option -g allow-passthrough on
|
||||
set-option -g allow-passthrough on
|
||||
set -s set-clipboard on
|
||||
|
||||
# Use vim keybindings in copy mode
|
||||
@ -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 C-Space select-pane -D \; resize-pane -Z
|
||||
|
||||
bind -n M-z resize-pane -Z
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
# No delay for escape key press
|
||||
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
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
set -g @plugin 'tmux-plugins/tmux-yank'
|
||||
set -g @plugin 'christoomey/vim-tmux-navigator'
|
||||
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-cowboy' # Kill process in pane w/ prefix+*
|
||||
set -g @plugin 'catppuccin/tmux'
|
||||
set -g @plugin 'tmux-plugins/tmux-resurrect'
|
||||
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 @resurrect-dir '$HOME/.tmux/resurrect'
|
||||
|
@ -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/
|
1
tmux/.tmux/plugins/tmux-battery/.gitignore
vendored
Normal file
1
tmux/.tmux/plugins/tmux-battery/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
*.swp
|
@ -106,7 +106,11 @@ upower_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() {
|
||||
|
Submodule tmux/.tmux/plugins/tmux-continuum updated: 3e4bc35da4...0698e8f4b1
1
tmux/.tmux/plugins/tmux-prefix-highlight
Submodule
1
tmux/.tmux/plugins/tmux-prefix-highlight
Submodule
Submodule tmux/.tmux/plugins/tmux-prefix-highlight added at 489a961897
1
tmux/.tmux/plugins/tmux-weather
Submodule
1
tmux/.tmux/plugins/tmux-weather
Submodule
Submodule tmux/.tmux/plugins/tmux-weather added at 28a5fbe75b
1
tmux/.tmux/plugins/tmux/.gitignore
vendored
Normal file
1
tmux/.tmux/plugins/tmux/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
custom
|
@ -15,6 +15,24 @@
|
||||
<img src="./assets/preview.webp"/>
|
||||
</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
|
||||
|
||||
- 🌻 [Latte](./catppuccin-latte.tmuxtheme)
|
||||
@ -22,7 +40,10 @@
|
||||
- 🌺 [Macchiato](./catppuccin-macchiato.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
|
||||
|
||||
@ -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`)
|
||||
2. Reload Tmux by either restarting the session or reloading it with `tmux source-file ~/.tmux.conf`
|
||||
|
||||
## Overview
|
||||
|
||||

|
||||
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
|
||||

|
||||
|
||||
```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
|
||||

|
||||
|
||||
```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
|
||||

|
||||
|
||||
```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
|
||||
|
||||
- [Pocco81](https://github.com/catppuccin)
|
||||
- [vinnyA3](https://github.com/vinnyA3)
|
||||
- [rogeruiz](https://github.com/rogeruiz)
|
||||
|
||||
|
||||
|
||||
<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 © 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>
|
||||
|
||||
|
BIN
tmux/.tmux/plugins/tmux/assets/config1.png
Normal file
BIN
tmux/.tmux/plugins/tmux/assets/config1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 91 KiB |
BIN
tmux/.tmux/plugins/tmux/assets/config2.png
Normal file
BIN
tmux/.tmux/plugins/tmux/assets/config2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 77 KiB |
BIN
tmux/.tmux/plugins/tmux/assets/config3.png
Normal file
BIN
tmux/.tmux/plugins/tmux/assets/config3.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 83 KiB |
BIN
tmux/.tmux/plugins/tmux/assets/overview.png
Normal file
BIN
tmux/.tmux/plugins/tmux/assets/overview.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 222 KiB |
54
tmux/.tmux/plugins/tmux/catppuccin-frappe.tmuxtheme
Executable file → Normal file
54
tmux/.tmux/plugins/tmux/catppuccin-frappe.tmuxtheme
Executable file → Normal 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: ""
|
||||
# WARNING: hex colors can't contain capital letters
|
||||
|
||||
@ -17,55 +15,3 @@ thm_yellow="#e5c890"
|
||||
thm_blue="#8caaee"
|
||||
thm_orange="#ef9f76"
|
||||
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
54
tmux/.tmux/plugins/tmux/catppuccin-latte.tmuxtheme
Executable file → Normal 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: ""
|
||||
# WARNING: hex colors can't contain capital letters
|
||||
|
||||
@ -17,55 +15,3 @@ thm_yellow="#df8e1d"
|
||||
thm_blue="#1e66f5"
|
||||
thm_orange="#fe640b"
|
||||
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
54
tmux/.tmux/plugins/tmux/catppuccin-macchiato.tmuxtheme
Executable file → Normal 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: ""
|
||||
# WARNING: hex colors can't contain capital letters
|
||||
|
||||
@ -17,55 +15,3 @@ thm_yellow="#eed49f"
|
||||
thm_blue="#8aadf4"
|
||||
thm_orange="#f5a97f"
|
||||
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
54
tmux/.tmux/plugins/tmux/catppuccin-mocha.tmuxtheme
Executable file → Normal 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: ""
|
||||
# WARNING: hex colors can't contain capital letters
|
||||
|
||||
@ -17,55 +15,3 @@ thm_yellow="#f9e2af"
|
||||
thm_blue="#89b4fa"
|
||||
thm_orange="#fab387"
|
||||
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"
|
||||
|
@ -1,23 +1,332 @@
|
||||
#!/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
|
||||
option="$1"
|
||||
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
|
||||
echo "$default"
|
||||
|
||||
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() {
|
||||
local theme
|
||||
theme="$(get-tmux-option "@catppuccin_flavour" "mocha")"
|
||||
tmux run -b "$CURRENT_DIR/catppuccin-${theme}.tmuxtheme"
|
||||
theme="$(get_tmux_option "@catppuccin_flavour" "mocha")"
|
||||
|
||||
# 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 "$@"
|
||||
|
10
tmux/.tmux/plugins/tmux/status/application.sh
Normal file
10
tmux/.tmux/plugins/tmux/status/application.sh
Normal 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"
|
||||
}
|
23
tmux/.tmux/plugins/tmux/status/battery.sh
Normal file
23
tmux/.tmux/plugins/tmux/status/battery.sh
Normal 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"
|
||||
}
|
11
tmux/.tmux/plugins/tmux/status/date_time.sh
Normal file
11
tmux/.tmux/plugins/tmux/status/date_time.sh
Normal 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"
|
||||
}
|
||||
|
10
tmux/.tmux/plugins/tmux/status/directory.sh
Normal file
10
tmux/.tmux/plugins/tmux/status/directory.sh
Normal 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"
|
||||
}
|
10
tmux/.tmux/plugins/tmux/status/host.sh
Normal file
10
tmux/.tmux/plugins/tmux/status/host.sh
Normal 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"
|
||||
}
|
10
tmux/.tmux/plugins/tmux/status/session.sh
Normal file
10
tmux/.tmux/plugins/tmux/status/session.sh
Normal 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"
|
||||
}
|
10
tmux/.tmux/plugins/tmux/status/user.sh
Normal file
10
tmux/.tmux/plugins/tmux/status/user.sh
Normal 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"
|
||||
}
|
11
tmux/.tmux/plugins/tmux/window/window_current_format.sh
Normal file
11
tmux/.tmux/plugins/tmux/window/window_current_format.sh
Normal 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"
|
||||
}
|
11
tmux/.tmux/plugins/tmux/window/window_default_format.sh
Normal file
11
tmux/.tmux/plugins/tmux/window/window_default_format.sh
Normal 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"
|
||||
}
|
@ -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
|
||||
```
|
||||
|
||||
### 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
|
||||
|
||||
|
@ -6,34 +6,22 @@ windows:
|
||||
layout: main-horizontal
|
||||
panes:
|
||||
- main:
|
||||
- hgd gmscore
|
||||
- vim
|
||||
- other:
|
||||
- hgd gmscore
|
||||
|
||||
- experiments:
|
||||
layout: main-horizontal
|
||||
panes:
|
||||
- main:
|
||||
- hgd experiments
|
||||
- vim
|
||||
- other:
|
||||
- hgd experiments
|
||||
|
||||
- critique:
|
||||
layout: main-horizontal
|
||||
panes:
|
||||
- main:
|
||||
- hgd google-comments
|
||||
- vim
|
||||
- other:
|
||||
- hgd google-comments
|
||||
|
||||
- dotfiles:
|
||||
layout: main-horizontal
|
||||
panes:
|
||||
- main:
|
||||
- cd ~/dotfiles
|
||||
- vim
|
||||
- other:
|
||||
- cd ~/dotfiles
|
||||
|
@ -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"
|
||||
]
|
||||
}
|
File diff suppressed because it is too large
Load Diff
0
vim/.vim/icons.lua
Normal file
0
vim/.vim/icons.lua
Normal file
@ -1,18 +1,33 @@
|
||||
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 = {
|
||||
name = "lemonade",
|
||||
name = "wayland",
|
||||
copy = {
|
||||
["+"] = { "lemonade", "copy" },
|
||||
["*"] = { "lemonade", "copy" },
|
||||
["+"] = { "wl-copy" },
|
||||
["*"] = { "wl-copy" },
|
||||
},
|
||||
paste = {
|
||||
["+"] = { "lemonade", "paste" },
|
||||
["*"] = { "lemonade", "paste" },
|
||||
["+"] = { "wl-paste" },
|
||||
["*"] = { "wl-paste" },
|
||||
},
|
||||
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
|
||||
|
||||
map("v", "<leader>y", '"+y')
|
||||
|
@ -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
|
@ -1,138 +0,0 @@
|
||||
local use_google = require("utils").use_google
|
||||
|
||||
if use_google() then
|
||||
vim.cmd([[
|
||||
let g:VCSCommandDisableMappings = 1
|
||||
|
||||
let g:signify_skip_filename_pattern = ['\.pipertmp.*']
|
||||
|
||||
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>br :call BlazeRun()<cr>
|
||||
nnoremap <Leader>bb :call BlazeBuild()<cr>
|
||||
nnoremap <Leader>bt :call BlazeTest()<cr>
|
||||
nnoremap <Leader>btd :call BlazeTestDebug()<cr>
|
||||
nnoremap <Leader>bc :call BuildCleanerFile()<cr>
|
||||
nnoremap <Leader>ud :call UnusedDeps()<cr>
|
||||
|
||||
let g:asyncrun_open = 1
|
||||
|
||||
function! s:AsyncBlaze(cmd, targets) abort
|
||||
"open cwindow manually and immediately when blaze starts.
|
||||
"simulate the same behavior from google-emacs blaze plugin.
|
||||
let l:aro = g:asyncrun_open
|
||||
let g:asyncrun_open = 0
|
||||
let l:target = ':'.expand('%:r')
|
||||
call setqflist([]) | copen 15
|
||||
" don't use !, so we scrolling the output.
|
||||
call asyncrun#run("", {"rows": 15}, a:cmd . ' ' . join(a:targets, ' '))
|
||||
let g:asyncrun_open = l:aro
|
||||
endfunction
|
||||
|
||||
function AsyncBlazeBuild() abort
|
||||
call <SID>AsyncBlaze("blaze build", blaze#GetTargets())
|
||||
endfunction
|
||||
|
||||
function AsyncBlazeTest() abort
|
||||
call <SID>AsyncBlaze("blaze test", blaze#GetTargets())
|
||||
endfunction
|
||||
|
||||
autocmd bufreadpre *.sh setlocal textwidth=80
|
||||
|
||||
augroup autoformat_settings
|
||||
autocmd FileType borg,gcl,patchpanel AutoFormatBuffer gclfmt
|
||||
autocmd FileType bzl AutoFormatBuffer buildifier
|
||||
autocmd FileType c,cpp,javascript,typescript AutoFormatBuffer clang-format
|
||||
autocmd FileType dart AutoFormatBuffer dartfmt
|
||||
autocmd FileType go AutoFormatBuffer gofmt
|
||||
autocmd FileType java AutoFormatBuffer google-java-format
|
||||
autocmd FileType jslayout AutoFormatBuffer jslfmt
|
||||
autocmd FileType markdown AutoFormatBuffer mdformat
|
||||
autocmd FileType ncl AutoFormatBuffer nclfmt
|
||||
autocmd FileType python AutoFormatBuffer pyformat
|
||||
autocmd FileType soy AutoFormatBuffer soyfmt
|
||||
autocmd FileType textpb AutoFormatBuffer text-proto-format
|
||||
autocmd FileType proto AutoFormatBuffer protofmt
|
||||
autocmd FileType sql AutoFormatBuffer format_sql
|
||||
autocmd FileType kotlin AutoFormatBuffer ktfmt
|
||||
autocmd FileType soy AutoFormatBuffer soyfmt
|
||||
" autocmd FileType html,css,json AutoFormatBuffer js-beautify
|
||||
augroup END
|
||||
|
||||
function! CitCWorkspace()
|
||||
let l:workspace = substitute(getcwd(), '/google/src/cloud/[^/]\+/\([^/]\+\)/.*', '\1', 'g')
|
||||
return l:workspace
|
||||
endfunction
|
||||
|
||||
function! G4Blame(...)
|
||||
" Grab the filename from the argument, use expand() to expand '%'.
|
||||
if a:0 > 0
|
||||
let file = expand(a:1)
|
||||
else
|
||||
let file = expand('%')
|
||||
endif
|
||||
" Lock scrolling in right pane
|
||||
setl scb
|
||||
" Create left pane
|
||||
vnew
|
||||
" It's 37 columns wide
|
||||
vert res 37
|
||||
" Get the output, split it on newline and keep empty lines, skip the first 2
|
||||
" lines because they're headers we don't need, and put it in starting on line
|
||||
" 1 of the left pane
|
||||
call setline(1, split(system('hg blame ' . file), '\n', 1)[2:])
|
||||
" Lock scrolling in left pane, turn off word wrap, set the buffer as
|
||||
" not-modified, remove any listchars highlighting (common in google code), set
|
||||
" it readonly (to make modifications slightly more annoying).
|
||||
setl scb nowrap nomod nolist ro
|
||||
" Move back to the right pane (not sure if there's a better way to do this?)
|
||||
exe "normal \<c-w>\<right>"
|
||||
" if a file was specified, open it
|
||||
if a:0 > 0
|
||||
execute "e ". file
|
||||
endif
|
||||
" Get the non-active pane scrolled to the same relative offset.
|
||||
syncbind
|
||||
endfunction
|
||||
|
||||
com! -nargs=? -complete=file Blame :call G4Blame(<f-args>)
|
||||
|
||||
nnoremap <leader>cc :CritiqueUnresolvedComments<space><cr>
|
||||
|
||||
nmap <leader>yb :let t = join(blaze#GetTargets(), ' ') \| echo t \| let @+ = t <CR>
|
||||
]])
|
||||
end
|
@ -1,125 +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",
|
||||
},
|
||||
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
|
@ -1,28 +0,0 @@
|
||||
|
||||
-- local lspzero = require('lsp-zero')
|
||||
-- -- lsp.preset('lsp-compe')
|
||||
-- lspzero.set_preferences({
|
||||
-- suggest_lsp_servers = true,
|
||||
-- setup_servers_on_start = true,
|
||||
-- set_lsp_keymaps = false,
|
||||
-- configure_diagnostics = true,
|
||||
-- cmp_capabilities = true,
|
||||
-- manage_nvim_cmp = false,
|
||||
-- call_servers = 'local',
|
||||
-- sign_icons = {
|
||||
-- error = '✘',
|
||||
-- warn = '▲',
|
||||
-- hint = '⚑',
|
||||
-- info = ''
|
||||
-- }
|
||||
-- })
|
||||
--
|
||||
-- lspzero.nvim_workspace()
|
||||
-- lspzero.on_attach(on_attach)
|
||||
-- lspzero.setup()
|
||||
--
|
||||
-- Initialize rust_analyzer with rust-tools
|
||||
-- local rust_lsp = lspzero.build_options('rust_analyzer', {})
|
||||
-- require('rust-tools').setup({ server = rust_lsp, })
|
||||
|
||||
|
@ -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
|
@ -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>")
|
@ -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 }
|
||||
)
|
@ -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>
|
31
vim/.vim/lua/config/tmpl.lua
Normal file
31
vim/.vim/lua/config/tmpl.lua
Normal 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,
|
||||
})
|
9
vim/.vim/lua/config/wgsl.lua
Normal file
9
vim/.vim/lua/config/wgsl.lua
Normal 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,
|
||||
})
|
6
vim/.vim/lua/config/zip.lua
Normal file
6
vim/.vim/lua/config/zip.lua
Normal 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,
|
||||
})
|
@ -19,6 +19,7 @@ M.convertLuaToVim = function(value)
|
||||
end
|
||||
error("unsupported type for value: " .. type(value))
|
||||
end
|
||||
|
||||
-- Allow glugin options to be set by `spec.opts`
|
||||
-- This makes configuring options locally easier
|
||||
M.glugOpts = function(name, spec)
|
||||
@ -38,6 +39,7 @@ M.glugOpts = function(name, spec)
|
||||
end
|
||||
return spec
|
||||
end
|
||||
|
||||
M.glug = function(name, spec)
|
||||
return M.glugOpts(
|
||||
name,
|
||||
@ -54,8 +56,10 @@ end
|
||||
-- come before `VeryLazy`, such as `FileType` and `BufRead`.
|
||||
-- The `VeryLazy` command is fired after the UI is first loaded, using
|
||||
-- this helps improve app start when nvim is opened with a file.
|
||||
|
||||
-- Events to check autocmds for. We target events that could fire before vim fully loads.
|
||||
local events = { "BufEnter", "BufRead", "BufReadPost", "BufReadPre", "BufWinEnter", "FileType" }
|
||||
|
||||
-- A unique key to help identify autocmds.
|
||||
local getAutocmdKey = function(autocmd)
|
||||
return table.concat({
|
||||
@ -66,6 +70,7 @@ local getAutocmdKey = function(autocmd)
|
||||
autocmd.buffer or "",
|
||||
}, "-")
|
||||
end
|
||||
|
||||
-- Take note of which autocmds exist before any plugins are loaded.
|
||||
local existingAutocmds = {}
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
@ -80,14 +85,17 @@ vim.api.nvim_create_autocmd("User", {
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
M.veryLazy = function(spec)
|
||||
local originalConfig = spec.config
|
||||
|
||||
return vim.tbl_extend("force", spec, {
|
||||
event = "VeryLazy",
|
||||
config = function(plugin, opts)
|
||||
if type(originalConfig) == "function" then
|
||||
originalConfig(plugin, opts)
|
||||
end
|
||||
|
||||
-- Execute any missed autocmd events that fired before the plugin was loaded,
|
||||
-- and only for autocmds that were set by this plugin.
|
||||
for _, autocmd in pairs(vim.api.nvim_get_autocmds({ event = events })) do
|
||||
@ -104,6 +112,7 @@ M.veryLazy = function(spec)
|
||||
vim.api.nvim_exec_autocmds(autocmd.event, { group = autocmd.group, buffer = autocmd.buffer })
|
||||
end
|
||||
end
|
||||
|
||||
-- Source any ftplugin files for opened buffers.
|
||||
for _, bufnr in pairs(vim.api.nvim_list_bufs()) do
|
||||
vim.api.nvim_buf_call(bufnr, function()
|
||||
@ -116,4 +125,5 @@ M.veryLazy = function(spec)
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
return M
|
||||
|
@ -1,17 +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",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
package.path = package.path .. ";" .. vim.env.HOME .. "/.vim/lua/?.lua"
|
||||
|
||||
require("lazy").setup("plugins")
|
||||
require("config.clipboard")
|
1
vim/.vim/lua/plugins/.gitignore
vendored
Normal file
1
vim/.vim/lua/plugins/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
gemini.lua
|
35
vim/.vim/lua/plugins/avante.lua
Normal file
35
vim/.vim/lua/plugins/avante.lua
Normal 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,
|
||||
},
|
||||
}
|
@ -1,139 +1,162 @@
|
||||
local use_google = require("utils").use_google
|
||||
|
||||
return {
|
||||
-- "sindrets/diffview.nvim",
|
||||
{ "nvim-lua/plenary.nvim", lazy = false },
|
||||
{ "nvim-tree/nvim-web-devicons", lazy = false },
|
||||
{ "squk/java-syntax.vim", ft = "java" },
|
||||
{ "squk/gdrama-syntax.vim", dir = vim.fn.expand("$HOME/dev/gdrama-syntax.vim") },
|
||||
{ "echasnovski/mini.splitjoin", version = "*" },
|
||||
{
|
||||
"andweeb/presence.nvim",
|
||||
cond = not use_google(),
|
||||
config = function()
|
||||
require("presence").setup({ show_time = false })
|
||||
end,
|
||||
},
|
||||
{
|
||||
"petertriho/nvim-scrollbar",
|
||||
config = function()
|
||||
require("scrollbar").setup()
|
||||
end,
|
||||
lazy = false,
|
||||
},
|
||||
{ "udalov/kotlin-vim", ft = "kotlin" },
|
||||
{ "ray-x/go.nvim", ft = "go" },
|
||||
{ "ray-x/guihua.lua", ft = "go" },
|
||||
{
|
||||
"saecki/crates.nvim",
|
||||
ft = "rust",
|
||||
version = "v0.3.0",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
config = function()
|
||||
require("crates").setup()
|
||||
end,
|
||||
},
|
||||
{ "simrat39/rust-tools.nvim", ft = "rust" },
|
||||
{
|
||||
"folke/flash.nvim",
|
||||
event = "VeryLazy",
|
||||
---@type Flash.Config
|
||||
opts = {},
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "s", mode = { "n", "x", "o" }, function() require("flash").jump() end, desc = "Flash" },
|
||||
{ "S", mode = { "n", "x", "o" }, function() require("flash").treesitter() end, desc = "Flash Treesitter" },
|
||||
{ "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" },
|
||||
},
|
||||
},
|
||||
"tikhomirov/vim-glsl",
|
||||
"sindrets/diffview.nvim",
|
||||
{ "folke/todo-comments.nvim", dependencies = { "nvim-lua/plenary.nvim" } },
|
||||
{
|
||||
"MagicDuck/grug-far.nvim",
|
||||
config = function()
|
||||
require("grug-far").setup({
|
||||
-- search and replace engines configuration
|
||||
engines = {
|
||||
-- see https://github.com/BurntSushi/ripgrep
|
||||
ripgrep = {
|
||||
-- ripgrep executable to use, can be a different path if you need to configure
|
||||
path = "rg",
|
||||
-- extraArgs = "-.",
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"shellRaining/hlchunk.nvim",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
opts = {
|
||||
line_num = { enable = true },
|
||||
chunk = {
|
||||
enable = true,
|
||||
priority = 15,
|
||||
style = {
|
||||
{ fg = "#393d4c" },
|
||||
},
|
||||
chars = {
|
||||
horizontal_line = "─",
|
||||
-- vertical_line = "│",
|
||||
vertical_line = "┊",
|
||||
left_top = "╭",
|
||||
left_bottom = "╰",
|
||||
right_arrow = ">",
|
||||
},
|
||||
use_treesitter = true,
|
||||
textobject = "",
|
||||
max_file_size = 1024 * 1024,
|
||||
error_sign = true,
|
||||
-- animation related
|
||||
duration = 0,
|
||||
delay = 0,
|
||||
},
|
||||
},
|
||||
},
|
||||
"RRethy/vim-illuminate",
|
||||
"kdheepak/lazygit.nvim",
|
||||
"flwyd/vim-conjoin",
|
||||
"rafcamlet/nvim-luapad",
|
||||
"vim-scripts/vcscommand.vim",
|
||||
"AndrewRadev/tagalong.vim",
|
||||
"AndrewRadev/yankwin.vim",
|
||||
{ "squk/gdrama-syntax.vim", ft = "gdrama" },
|
||||
{ "nvim-lua/plenary.nvim", lazy = false },
|
||||
{ "squk/java-syntax.vim", ft = "java" },
|
||||
{ "udalov/kotlin-vim", event = "VeryLazy", ft = "kotlin" },
|
||||
{ "andymass/vim-matchup", event = "VimEnter" },
|
||||
{ "jghauser/mkdir.nvim", event = "BufWritePre" },
|
||||
{
|
||||
"rmagatti/auto-session",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope.nvim", -- Only needed if you want to use session lens
|
||||
},
|
||||
config = function()
|
||||
require("auto-session").setup({
|
||||
auto_session_suppress_dirs = { "~/", "~/Projects", "~/Downloads", "/" },
|
||||
args_allow_single_directory = false,
|
||||
bypass_save_filetypes = { "netrw" },
|
||||
})
|
||||
end,
|
||||
},
|
||||
"tpope/vim-abolish",
|
||||
{
|
||||
"johmsalas/text-case.nvim",
|
||||
dependencies = { "nvim-telescope/telescope.nvim" },
|
||||
config = function()
|
||||
require("textcase").setup({})
|
||||
require("telescope").load_extension("textcase")
|
||||
end,
|
||||
cmd = {
|
||||
"Subs",
|
||||
},
|
||||
},
|
||||
{
|
||||
"NvChad/nvim-colorizer.lua",
|
||||
ft = "lua",
|
||||
config = function()
|
||||
require("colorizer").setup()
|
||||
end,
|
||||
},
|
||||
{
|
||||
|
||||
{
|
||||
"rafcamlet/nvim-luapad",
|
||||
config = function()
|
||||
require("luapad").setup({
|
||||
eval_on_change = false,
|
||||
})
|
||||
end,
|
||||
},
|
||||
"flwyd/vim-conjoin",
|
||||
"godlygeek/tabular",
|
||||
"wesQ3/vim-windowswap",
|
||||
"cakebaker/scss-syntax.vim",
|
||||
"vim-scripts/vcscommand.vim",
|
||||
"jghauser/mkdir.nvim",
|
||||
"google/vim-searchindex",
|
||||
"kosayoda/nvim-lightbulb",
|
||||
"ntpeters/vim-better-whitespace",
|
||||
"junegunn/fzf.vim",
|
||||
"AndrewRadev/tagalong.vim",
|
||||
"tversteeg/registers.nvim",
|
||||
"jremmen/vim-ripgrep",
|
||||
"viniciusgerevini/clyde.vim",
|
||||
{ "andymass/vim-matchup", event = "VimEnter" },
|
||||
-- Undo tree
|
||||
{
|
||||
"mbbill/undotree",
|
||||
cmd = "UndotreeToggle",
|
||||
config = function()
|
||||
vim.g.undotree_SetFocusWhenToggle = 1
|
||||
end,
|
||||
},
|
||||
{
|
||||
"stevearc/aerial.nvim",
|
||||
opts = {},
|
||||
-- Optional dependencies
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
cmd = { "AerialToggle", "AerialOn" },
|
||||
keys = {
|
||||
{ "<leader>so", ":AerialToggle<CR>", desc = "[S]ymbols [O]utline" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"rmagatti/auto-session",
|
||||
config = function()
|
||||
require("auto-session").setup({ log_level = "error" })
|
||||
end,
|
||||
},
|
||||
{
|
||||
"ipod825/libp.nvim",
|
||||
config = function()
|
||||
require("libp").setup()
|
||||
end,
|
||||
},
|
||||
{
|
||||
"iamcco/markdown-preview.nvim",
|
||||
build = "cd app && npm install",
|
||||
init = function()
|
||||
vim.g.mkdp_filetypes = { "markdown" }
|
||||
end,
|
||||
ft = { "markdown" },
|
||||
},
|
||||
{
|
||||
"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,
|
||||
},
|
||||
"andweeb/presence.nvim",
|
||||
cond = not use_google(),
|
||||
config = function()
|
||||
require("presence").setup({
|
||||
main_image = "file",
|
||||
show_time = false,
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"ntpeters/vim-better-whitespace",
|
||||
config = function()
|
||||
vim.g.better_whitespace_filetypes_blacklist = { "dashboard" }
|
||||
end,
|
||||
},
|
||||
{
|
||||
"mbbill/undotree",
|
||||
cmd = "UndotreeToggle",
|
||||
config = function()
|
||||
vim.g.undotree_SetFocusWhenToggle = 1
|
||||
end,
|
||||
-- stylua: ignore
|
||||
keys = { { "<leader>ut", ":UndotreeToggle<CR>" } },
|
||||
},
|
||||
{
|
||||
"stevearc/aerial.nvim",
|
||||
opts = {},
|
||||
cmd = { "AerialToggle", "AerialOn" },
|
||||
-- stylua: ignore
|
||||
keys = { { "<leader>so", ":AerialToggle<CR>", desc = "[S]symbols [O]utline" } },
|
||||
},
|
||||
{
|
||||
"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 = "*",
|
||||
-- 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", },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
17
vim/.vim/lua/plugins/bevy.lua
Normal file
17
vim/.vim/lua/plugins/bevy.lua
Normal 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", },
|
||||
},
|
||||
}
|
30
vim/.vim/lua/plugins/bigfile.lua
Normal file
30
vim/.vim/lua/plugins/bigfile.lua
Normal 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",
|
||||
},
|
||||
}
|
||||
}
|
183
vim/.vim/lua/plugins/blink.lua
Normal file
183
vim/.vim/lua/plugins/blink.lua
Normal 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" },
|
||||
},
|
||||
}
|
@ -1,36 +1,30 @@
|
||||
return {
|
||||
{
|
||||
"tiagovla/scope.nvim",
|
||||
config = function()
|
||||
-- vim.opt.sessionoptions = { -- required
|
||||
-- "buffers",
|
||||
-- "tabpages",
|
||||
-- "globals",
|
||||
-- }
|
||||
require("scope").setup({})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"akinsho/bufferline.nvim",
|
||||
version = "*",
|
||||
dependencies = "nvim-tree/nvim-web-devicons",
|
||||
config = function()
|
||||
vim.opt.termguicolors = true
|
||||
require("bufferline").setup({
|
||||
options = {
|
||||
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,
|
||||
},
|
||||
})
|
||||
end,
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
opts = {
|
||||
options = {
|
||||
separator_style = "slope",
|
||||
-- offsets = { {
|
||||
-- filetype = "neo-tree",
|
||||
-- text = "NeoTree",
|
||||
-- highlight = "Directory",
|
||||
-- separator = true, -- use a "true" to enable the default, or set your own character
|
||||
-- }, },
|
||||
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,
|
||||
tab_size = 27,
|
||||
truncate_name = false,
|
||||
show_close_icon = false,
|
||||
show_buffer_close_icons = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
@ -1,24 +1,12 @@
|
||||
local use_google = require("utils").use_google
|
||||
|
||||
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
|
||||
local flags = require("utils").flags
|
||||
|
||||
return {
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
event = { "InsertEnter", "CmdlineEnter" },
|
||||
cond = not flags.blink,
|
||||
dependencies = {
|
||||
"Exafunction/codeium.nvim",
|
||||
"FelipeLema/cmp-async-path",
|
||||
"amarakon/nvim-cmp-buffer-lines",
|
||||
"chrisgrieser/cmp-nerdfont",
|
||||
@ -30,7 +18,7 @@ return {
|
||||
"hrsh7th/cmp-emoji",
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"hrsh7th/cmp-nvim-lsp-document-symbol",
|
||||
"hrsh7th/cmp-nvim-lsp-signature-help",
|
||||
-- "hrsh7th/cmp-nvim-lsp-signature-help",
|
||||
"hrsh7th/cmp-nvim-lua",
|
||||
"lukas-reineke/cmp-under-comparator",
|
||||
"onsails/lspkind.nvim",
|
||||
@ -41,25 +29,29 @@ return {
|
||||
vim.opt.completeopt = { "menu", "menuone", "noselect" }
|
||||
|
||||
local cmp = require("cmp")
|
||||
local luasnip = require("luasnip")
|
||||
|
||||
local compare = cmp.config.compare
|
||||
|
||||
local conditionalSources = {}
|
||||
|
||||
if use_google() then
|
||||
table.insert(conditionalSources, { name = "nvim_ciderlsp", priority = 9 })
|
||||
table.insert(conditionalSources, { name = "analysislsp" })
|
||||
else
|
||||
table.insert(conditionalSources, { name = "codeium", priority = 9 })
|
||||
table.insert(conditionalSources, { name = "nvim_ciderlsp", priority = 8 })
|
||||
table.insert(conditionalSources, { name = "buganizer", option = { notifications_enabled = true } })
|
||||
end
|
||||
|
||||
local lspkind = require("lspkind")
|
||||
lspkind.init()
|
||||
|
||||
cmp.setup.filetype("txt", {
|
||||
enabled = false,
|
||||
})
|
||||
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
|
||||
cmp.setup.cmdline({ "/", "?" }, {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = cmp.config.sources({
|
||||
{ name = "treesitter" },
|
||||
{ name = "buffer" },
|
||||
}),
|
||||
})
|
||||
|
||||
@ -67,6 +59,7 @@ return {
|
||||
cmp.setup.cmdline(":", {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = cmp.config.sources({
|
||||
-- { name = "nvim_lsp_signature_help", priority = 9 },
|
||||
{ name = "async_path" },
|
||||
{ name = "cmdline", option = { ignore_cmds = { "edit", "write", "tabedit" } } },
|
||||
}),
|
||||
@ -74,30 +67,44 @@ return {
|
||||
|
||||
cmp.setup({
|
||||
preselect = cmp.PreselectMode.None,
|
||||
sources = cmp.config.sources(require("utils").TableConcat({
|
||||
{ name = "luasnip", priority = 8 },
|
||||
{ name = "nvim_lsp", priority = 7 },
|
||||
{ name = "async_path" },
|
||||
{ name = "nerdfont" },
|
||||
{ name = "treesitter" },
|
||||
{ name = "buffer" },
|
||||
{ name = "calc" },
|
||||
{ name = "crates" },
|
||||
{ name = "emoji" },
|
||||
}, conditionalSources)),
|
||||
performance = {
|
||||
-- debounce = 60,
|
||||
-- throttle = 30,
|
||||
fetching_timeout = 300,
|
||||
-- confirm_resolve_timeout = 80,
|
||||
-- async_budget = 1,
|
||||
-- max_view_entries = 200,
|
||||
},
|
||||
sources = cmp.config.sources(
|
||||
require("utils").TableConcat(conditionalSources, {
|
||||
-- { name = "nvim_lsp_signature_help", priority = 9 },
|
||||
-- Conditional sources injected here.
|
||||
{ name = "luasnip", priority = 7 },
|
||||
{ name = "nvim_lsp", priority = 6 },
|
||||
{ name = "async_path" },
|
||||
{ name = "crates" },
|
||||
{ name = "calc" },
|
||||
}),
|
||||
{ -- symbols/icons group
|
||||
{ name = "nerdfont" },
|
||||
{ name = "emoji" },
|
||||
},
|
||||
{ -- fallback
|
||||
{ name = "treesitter" },
|
||||
{ name = "buffer" },
|
||||
}
|
||||
),
|
||||
|
||||
sorting = {
|
||||
comparators = {
|
||||
-- compare.score_offset, -- not good at all
|
||||
compare.priority,
|
||||
compare.score, -- based on : score = score + ((#sources - (source_index - 1)) * sorting.priority_weight)
|
||||
compare.locality,
|
||||
compare.recently_used,
|
||||
compare.offset,
|
||||
compare.order,
|
||||
-- compare.scopes, -- what?
|
||||
-- compare.sort_text,
|
||||
-- compare.exact,
|
||||
-- compare.kind,
|
||||
compare.kind,
|
||||
-- compare.length, -- useless
|
||||
},
|
||||
},
|
||||
@ -107,13 +114,12 @@ return {
|
||||
async_path = " path",
|
||||
buffer = " Buf",
|
||||
cmdline = " cmd",
|
||||
codeium = " Codeium",
|
||||
crates = " rust",
|
||||
luasnip = " snip",
|
||||
buganizer = " Buganizer",
|
||||
nerdfont = " nerdfont",
|
||||
nvim_ciderlsp = " Cider",
|
||||
analysislsp = " analysislsp",
|
||||
nvim_lsp_signature_help = "",
|
||||
nvim_lsp = " LSP",
|
||||
nvim_lua = " lua",
|
||||
treesitter = " ts",
|
||||
@ -127,35 +133,36 @@ return {
|
||||
end,
|
||||
},
|
||||
|
||||
experimental = {
|
||||
native_menu = false,
|
||||
ghost_text = true,
|
||||
},
|
||||
mapping = {
|
||||
["<S-Up>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<S-Down>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-e>"] = cmp.mapping.close(),
|
||||
["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
|
||||
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
["<CR>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
if #cmp.get_entries() == 1 then
|
||||
cmp.confirm({ select = true })
|
||||
if luasnip.expandable() then
|
||||
luasnip.expand()
|
||||
else
|
||||
cmp.select_next_item()
|
||||
end
|
||||
elseif has_words_before() then
|
||||
cmp.complete()
|
||||
if #cmp.get_entries() == 1 then
|
||||
cmp.confirm({ select = true })
|
||||
cmp.confirm({
|
||||
select = true,
|
||||
})
|
||||
end
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end),
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<S-Tab>"] = cmp.mapping(function()
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
|
||||
|
@ -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,
|
||||
},
|
||||
}
|
89
vim/.vim/lua/plugins/conform.lua
Normal file
89
vim/.vim/lua/plugins/conform.lua
Normal file
@ -0,0 +1,89 @@
|
||||
local use_google = require("utils").use_google
|
||||
|
||||
return {
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
event = { "BufWritePre" },
|
||||
cmd = { "ConformInfo", "FormatDisable", "FormatEnable" },
|
||||
keys = {
|
||||
-- stylua: ignore
|
||||
{ "<leader>fmt", function() require("conform").format({ async = true, lsp_fallback = true }) end, mode = "", desc = "Format buffer", },
|
||||
{ "<leader>fj", ":%!python -m json.tool" },
|
||||
},
|
||||
config = function()
|
||||
vim.g.disable_autoformat = false
|
||||
vim.api.nvim_create_user_command("FormatDisable", function(args)
|
||||
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",
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
pattern = "*",
|
||||
callback = function(args)
|
||||
if vim.g.disable_autoformat or vim.b[args.buf].disable_autoformat then
|
||||
return
|
||||
end
|
||||
require("conform").format({ bufnr = args.buf })
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_user_command("Format", function(args)
|
||||
local range = nil
|
||||
if args.count ~= -1 then
|
||||
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,
|
||||
},
|
||||
}
|
@ -3,12 +3,20 @@ return {
|
||||
"mfussenegger/nvim-jdtls",
|
||||
config = function() end,
|
||||
},
|
||||
{
|
||||
"theHamsta/nvim-dap-virtual-text",
|
||||
"nvim-neotest/nvim-nio",
|
||||
config = function()
|
||||
require("nvim-dap-virtual-text").setup()
|
||||
end,
|
||||
},
|
||||
{
|
||||
"mfussenegger/nvim-dap",
|
||||
dependencies = {
|
||||
"rcarriga/nvim-dap-ui",
|
||||
"nvim-telescope/telescope-dap.nvim",
|
||||
},
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{ "<leader>do", ":lua require'dapui'.open()<CR>" },
|
||||
-- { "<F5>", ":lua require'dap'.continue()<CR>" },
|
||||
@ -20,9 +28,34 @@ return {
|
||||
{ "<leader>dt", ":Telescope dap configurations<CR>" },
|
||||
},
|
||||
config = function()
|
||||
local use_google = require("utils").use_google
|
||||
require("telescope").load_extension("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 = {
|
||||
type = "server",
|
||||
@ -30,27 +63,72 @@ return {
|
||||
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 = {
|
||||
{
|
||||
type = "java",
|
||||
request = "attach",
|
||||
mode = "remote",
|
||||
name = "Java - Attach Remote",
|
||||
name = "Attach Remote",
|
||||
cwd = "${workspaceFolder}",
|
||||
hostName = "127.0.0.1",
|
||||
port = 5005,
|
||||
},
|
||||
}
|
||||
|
||||
dap.configurations.gdscript = {
|
||||
{
|
||||
name = "Godot - Launch Project",
|
||||
name = "Launch Project",
|
||||
type = "godot",
|
||||
request = "launch",
|
||||
project = "${workspaceFolder}",
|
||||
additional_options = "",
|
||||
},
|
||||
{
|
||||
name = "Godot - Launch Current File",
|
||||
name = "Launch Current File",
|
||||
type = "godot",
|
||||
request = "launch",
|
||||
scene = "current",
|
||||
@ -97,15 +175,17 @@ return {
|
||||
})
|
||||
|
||||
local dapui = require("dapui")
|
||||
vim.cmd("set mouse=n")
|
||||
dapui.setup()
|
||||
dap.listeners.after.event_initialized["dapui_config"] = function()
|
||||
vim.cmd("set mouse=a")
|
||||
dapui.open()
|
||||
end
|
||||
dap.listeners.before.event_terminated["dapui_config"] = function()
|
||||
vim.cmd("set mouse=")
|
||||
dapui.close()
|
||||
end
|
||||
dap.listeners.before.event_exited["dapui_config"] = function()
|
||||
vim.cmd("set mouse=")
|
||||
dapui.close()
|
||||
end
|
||||
end,
|
||||
|
47
vim/.vim/lua/plugins/dashboard.lua
Normal file
47
vim/.vim/lua/plugins/dashboard.lua
Normal file
@ -0,0 +1,47 @@
|
||||
return {
|
||||
"nvimdev/dashboard-nvim",
|
||||
event = "VimEnter",
|
||||
config = function()
|
||||
require("dashboard").setup({
|
||||
theme = "hyper",
|
||||
config = {
|
||||
week_header = {
|
||||
enable = true,
|
||||
},
|
||||
shortcut = {
|
||||
{ desc = " Update", group = "@property", action = "Lazy update", key = "u" },
|
||||
{
|
||||
desc = " cwd session",
|
||||
group = "Number",
|
||||
action = function()
|
||||
require("persistence").load()
|
||||
end,
|
||||
key = ".",
|
||||
},
|
||||
{
|
||||
icon = " ",
|
||||
icon_hl = "@variable",
|
||||
desc = "Files",
|
||||
group = "Label",
|
||||
action = "Telescope find_files",
|
||||
key = "f",
|
||||
},
|
||||
{
|
||||
desc = " dotfiles",
|
||||
group = "Number",
|
||||
action = "lua find_dotfiles()",
|
||||
key = "d",
|
||||
},
|
||||
{
|
||||
desc = " sessions",
|
||||
group = "Number",
|
||||
action = "Telescope persisted",
|
||||
key = "s",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
-- keys = { { "<C-Space>", ":Dashboard<CR>" } },
|
||||
dependencies = { { "nvim-tree/nvim-web-devicons" } },
|
||||
}
|
@ -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 = "*",
|
||||
}
|
6
vim/.vim/lua/plugins/dev.lua
Normal file
6
vim/.vim/lua/plugins/dev.lua
Normal file
@ -0,0 +1,6 @@
|
||||
return {
|
||||
-- {
|
||||
-- "squk/google3.nvim",
|
||||
-- dev = true,
|
||||
-- },
|
||||
}
|
107
vim/.vim/lua/plugins/diagnostics.lua
Normal file
107
vim/.vim/lua/plugins/diagnostics.lua
Normal 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",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
38
vim/.vim/lua/plugins/firenvim.lua
Normal file
38
vim/.vim/lua/plugins/firenvim.lua
Normal 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,
|
||||
}
|
@ -1,115 +0,0 @@
|
||||
return {
|
||||
"mhartington/formatter.nvim",
|
||||
config = function()
|
||||
-- Utilities for creating configurations
|
||||
local util = require("formatter.util")
|
||||
vim.cmd([[
|
||||
augroup FormatAutogroup
|
||||
autocmd!
|
||||
autocmd BufWritePost * FormatWrite
|
||||
augroup END
|
||||
]])
|
||||
|
||||
-- Provides the Format, FormatWrite, FormatLock, and FormatWriteLock commands
|
||||
require("formatter").setup({
|
||||
-- Enable or disable logging
|
||||
logging = true,
|
||||
-- Set the log level
|
||||
log_level = vim.log.levels.WARN,
|
||||
-- All formatter configurations are opt-in
|
||||
filetype = {
|
||||
-- Formatter configurations for filetype "lua" go here
|
||||
-- and will be executed in order
|
||||
lua = {
|
||||
-- "formatter.filetypes.lua" defines default configurations for the
|
||||
-- "lua" filetype
|
||||
-- require("formatter.filetypes.lua").stylua,
|
||||
-- You can also define your own configuration
|
||||
function()
|
||||
-- Supports conditional formatting
|
||||
if util.get_current_buffer_file_name() == "special.lua" then
|
||||
return nil
|
||||
end
|
||||
|
||||
-- Full specification of configurations is down below and in Vim help
|
||||
-- files
|
||||
return {
|
||||
exe = "stylua",
|
||||
args = {
|
||||
"--search-parent-directories",
|
||||
"--stdin-filepath",
|
||||
util.escape_path(util.get_current_buffer_file_path()),
|
||||
"--",
|
||||
"-",
|
||||
},
|
||||
stdin = true,
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
html = {
|
||||
require("formatter.defaults").prettier,
|
||||
},
|
||||
cs = {
|
||||
-- require("formatter.filetypes.cs").astyle,
|
||||
-- require("formatter.filetypes.cs").uncrustify,
|
||||
require("formatter.filetypes.cs").clangformat,
|
||||
-- require("formatter.filetypes.cs").dotnetformat,
|
||||
},
|
||||
gdscript = {
|
||||
function()
|
||||
return {
|
||||
exe = "gdformat",
|
||||
args = {
|
||||
"-l 100",
|
||||
},
|
||||
}
|
||||
end,
|
||||
},
|
||||
xml = {
|
||||
function()
|
||||
return {
|
||||
exe = "tidy",
|
||||
args = {
|
||||
"-xml",
|
||||
"-quiet",
|
||||
"-wrap",
|
||||
"--tidy-mark",
|
||||
"no",
|
||||
"--indent",
|
||||
"yes",
|
||||
"--indent-spaces",
|
||||
"2",
|
||||
"--indent-attributes",
|
||||
"yes",
|
||||
"--sort-attributes",
|
||||
"alpha",
|
||||
"--wrap-attributes",
|
||||
"yes",
|
||||
"--vertical-space",
|
||||
"yes",
|
||||
"-",
|
||||
},
|
||||
stdin = true,
|
||||
}
|
||||
end,
|
||||
},
|
||||
-- java = {
|
||||
-- function()
|
||||
-- return {
|
||||
-- exe = "google-java-format",
|
||||
-- }
|
||||
-- end,
|
||||
-- },
|
||||
|
||||
-- Use the special "*" filetype for defining formatter configurations on
|
||||
-- any filetype
|
||||
["*"] = {
|
||||
-- "formatter.filetypes.any" defines default configurations for any
|
||||
-- filetype
|
||||
require("formatter.filetypes.any").remove_trailing_whitespace,
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user