Compare commits

...

55 commits
fix ... main

Author SHA1 Message Date
68bff79b00
feat: remove deprecated typst-preview.nvim 2024-07-21 19:12:53 -07:00
d0774b5553
feat: add zen mode 2024-07-14 02:33:18 -07:00
93267df27f
feat: update packages 2024-07-14 02:23:45 -07:00
b564578733
chore: update lazy-lock 2024-07-01 00:03:15 -07:00
ee5b0e5bdb
remove mini.animate 2024-06-23 19:28:23 -07:00
6e70abb609
fix dashboard 2024-06-21 13:16:46 -07:00
be021de860
remove copilot cmp 2024-06-09 12:15:20 -07:00
75c2fd0a7f
add some extras 2024-06-08 18:54:38 -07:00
7ec2e701b5
add svelte, mini-move, and outline. update plugins 2024-06-05 22:23:01 -07:00
57e26c3c70
update plugins 2024-05-27 23:07:24 -07:00
c0a87dbeb1
add typstfmt 2024-05-21 23:12:58 -07:00
0aefb43ddb
add typst preview 2024-05-21 15:01:04 -07:00
478c89ad59
ok 2024-05-19 01:52:12 -07:00
7d19a076cf
remove many manual configuration options to stay upstream with lazyim 2024-05-19 01:40:48 -07:00
687717c85c
Merge branch 'main' of github.com:couscousdude/neovim-dots 2024-05-14 08:58:00 -07:00
bcf87ffd3a
Merge branch 'main' of github.com:couscousdude/neovim-dots 2024-05-13 12:06:32 -07:00
c303bfb52f
revert crates.nvim version 2024-05-12 17:41:41 -07:00
e24eff554c
disable annoying update checking from lazy 2024-05-12 17:41:25 -07:00
7f1a07c7ca
add elixir tools 2024-05-12 15:19:50 -07:00
4fe4edd6db
commit lazy lock 2024-05-12 15:19:38 -07:00
6bbbdf6c2a
Merge branch 'main' of github.com:couscousdude/neovim-dots 2024-05-10 00:59:07 -07:00
1dd03db7fc
change haskell formatter to fourmolu 2024-05-10 00:58:55 -07:00
700ac8c77d
update readme installation instructions 2024-05-10 00:56:21 -07:00
6deeee9fc4
migrate to nvim v0.10.x
also adds full haskell language support
2024-05-10 00:52:34 -07:00
e2ae15062d
update readme with wakatime badge 2024-05-09 23:02:42 -07:00
48fdbcfaa4
commit lazy lock 2024-05-09 23:02:31 -07:00
ebbb48468d
commit lazy lock 2024-05-09 01:41:45 -07:00
363eb77fa7
add clangd for C and C++
Also configure it to work properly with Copilot
2024-05-06 13:14:21 -07:00
ce7a735c81
add css language server 2024-05-05 20:21:01 -07:00
31524d977a
add haskell formatting 2024-05-03 23:20:11 -07:00
af607d7d95
update lockfile 2024-05-03 21:43:26 -07:00
d2cd38aa04
update lazy lock 2024-04-28 00:43:53 -07:00
99167e6259
add formatting for tex via latexindent 2024-04-27 12:55:05 -07:00
ae1dc2c872
update lockfile 2024-04-27 12:53:16 -07:00
7dfedaa2e0
chore: semantic updates 2024-04-26 13:36:13 -07:00
20f6949bcf
naively detect correct pdf viewer 2024-04-25 09:42:25 -07:00
26a943665f
add taplo as a formatter for toml 2024-04-25 01:05:06 -07:00
9c9f8cb96f
update documentation and format markdown 2024-04-24 23:46:30 -07:00
15071a8669
Merge branch 'main' of github.com:couscousdude/neovim-dots 2024-04-24 08:37:20 -07:00
98fb99ab29
disable trouble v3 because it's causing issues with svelte 2024-04-23 23:09:22 -07:00
c3f7f9c815
explicitly set latex backend to latexmk 2024-04-23 13:41:04 -07:00
4b52bd9237
add latex hot reload and lsp support 2024-04-23 13:21:27 -07:00
1e32fbb6fc
Merge branch 'main' of github.com:couscousdude/neovim-dots 2024-04-23 11:41:58 -07:00
236135ef67
remove close if last from neo tree config 2024-04-23 10:54:41 -07:00
b1bafbef54
add conform.nvim configuration manually 2024-04-23 10:52:06 -07:00
4ed3bb7fbf
Merge branch 'main' of github.com:couscousdude/neovim-dots 2024-04-21 22:27:43 -07:00
005e14e6b6
use 'cargo clippy' for rust-analyzer semantic analysis and linting 2024-04-21 19:00:55 -07:00
85cb19f82c
update lazy-lock 2024-04-21 18:59:54 -07:00
940e9513e1
add projects.nvim 2024-04-20 22:25:20 -07:00
a381c1b1a8
add more installation instructions to readme 2024-04-20 20:01:50 -07:00
80cc397da4
disable copilot in markdown 2024-04-20 16:00:09 -07:00
ce2032626d
update readme 2024-04-20 02:17:24 -07:00
072ac90251
add wakatime and fix duplicate TS lsp errors 2024-04-20 01:55:32 -07:00
58749e626e
increase contrast in line numbers 2024-04-19 16:29:01 -07:00
7652493468
add some options to lsp and lint 2024-04-19 12:12:36 -07:00
19 changed files with 387 additions and 224 deletions

2
.prettierrc.toml Normal file
View file

@ -0,0 +1,2 @@
proseWrap = "always"
printWidth = 80

100
README.md
View file

@ -1,3 +1,99 @@
# 💤 Neovim Dotfiles # Neovim Dotfiles
Built on top of [LazyVim](https://github.com/LazyVim/LazyVim). My personal Neovim configuration, with some theme changes and plugins I like. Turns Neovim into an actual IDE. My Neovim configuration files, built on top of
[LazyVim](https://github.com/LazyVim/LazyVim). Makes Neovim an actual usable
IDE.
---
Time wasted configuring Neovim:
[![wakatime](https://wakatime.com/badge/user/018dc5b8-ba5a-4572-a38a-b526d1b28240/project/018efaa8-f823-4b6b-8e27-a30cc0ae4cfc.svg)](https://wakatime.com/badge/user/018dc5b8-ba5a-4572-a38a-b526d1b28240/project/018efaa8-f823-4b6b-8e27-a30cc0ae4cfc)
---
The main goal of this setup is to reach somewhat feature parity with VSCode's
Intellisense features (in other words, to be _at least_ as productive as in
VSCode). Since the majority of VS Code's "IntelliSense" features are really just
its wrapper around an LSP, almost all useful VS Code features (except maybe the
debugger) are also available in Neovim.
You probably shouldn't use these dotfiles, because you'd likely be better off
just installing LazyVim yourself and setting things up how you like. This is
mainly here as a personal backup, and to leave notes for my own use. But, I'll
try to document as much as I can, anyways.
## Installation
Ensure you have the latest version (v0.10.x) of Neovim installed, and remove or
backup your existing settings. Install `tree-sitter-cli` with either `cargo` or
`npm`, and ensure `npm` and `tree-sitter-cli` are on your `PATH`.
```sh
# remove it
rm -rf ~/.config/nvim
# or back it up, if you have settings you don't want to lose.
mv ~/.config/nvim ~/.config/nvim.bak
# with npm (or pnpm, bun, yarn)
npm install --global tree-sitter-cli
# with cargo
cargo install tree-sitter-cli
```
Then, clone this repository into where Neovim is expecting configuration files
(usually `~/.config/nvim`).
```bash
git clone https://github.com/couscousdude/neovim-dots ~/.config/nvim
```
Launch Neovim and it should automatically setup `lazy.nvim` and install all
plugins.
You can install LSPs for new languages by running `:MasonInstall <language>` and
Treesitter parsers with `:TSInstall <language>`.
Set up Copilot with `:Copilot setup` and follow the instructions (or remove it
by going to the LazyVim "Extras" section and uninstalling it. You can replace it
with Codeium or Tab9).
Set up Wakatime with `:WakaTimeApiKey` (or uninstall it by removing its entry
from `nvim/lua/plugins/extras.lua`).
Check the [LazyVim documentation](https://github.com/LazyVim/LazyVim) for more
information on the rest of the features and plugins.
## Notes
- Trouble v3 seems to be breaking in specific situations (esp. in Svelte) when
used with the lua-line. I disabled it for now because statusline is more
important and regular trouble.nvim seems to work fine. Maybe upgrading to
neovim 0.10.x will help.
## Non-exhaustive list of changes on top of LazyVim
- More LSP configuration
- `typescript-tools.nvim` to replace `typescript-language-server` from Mason,
to reduce crashes and improve performance.
- `tailwind-fold` to fold long CSS classnames
- `vim-wakatime` to track time spent coding.
- Made background transparent and increased some colors to increase contrast
(line numbers, etc).
- Add `presence.nvim` for Discord Rich Presence integration.
- Add Arch logo to the dashboard (page that initially opens if you type `nvim`)
(did I mention I use Arch btw).
- Fix various annoyances with plugins:
- Disable duplicate TS error reports from `tsserver` and
`typescript-language-server`.
- Rebind window resizing to use the `<alt>` key instead of `<ctrl>` because it
conflicts with macOS window change shortcuts.
- Configure notification plugin (`noice.nvim`) to suppress "No information
available" when triggering hover (this is to prevent
tailwind-language-server from showing this message on every hover when
editing files containing both Tailwind and other languages with LSPs, such
as `.svelte`).
- Move `neo-tree` to the right side of the screen by default (life changing).
- Add TeX support.

View file

@ -1,2 +1,16 @@
-- bootstrap lazy.nvim, LazyVim and your plugins -- bootstrap lazy.nvim, LazyVim and your plugins
require("config.lazy") require("config.lazy")
vim.api.nvim_create_autocmd({ "VimEnter", "VimResume" }, {
group = vim.api.nvim_create_augroup("KittySetVarVimEnter", { clear = true }),
callback = function()
io.stdout:write("\x1b]1337;SetUserVar=in_editor=MQo\007")
end,
})
vim.api.nvim_create_autocmd({ "VimLeave", "VimSuspend" }, {
group = vim.api.nvim_create_augroup("KittyUnsetVarVimLeave", { clear = true }),
callback = function()
io.stdout:write("\x1b]1337;SetUserVar=in_editor\007")
end,
})

View file

@ -1,65 +1,89 @@
{ {
"LazyVim": { "branch": "main", "commit": "5646ee5191da244ff8ea57b9dba8a7e0d1dbdd42" }, "CopilotChat.nvim": { "branch": "canary", "commit": "92bc7b5e564c23b12b2ed41dd7657fdafe39d95f" },
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, "LazyVim": { "branch": "main", "commit": "8db2f3af39454ab51422a83cfc6632d013660691" },
"SchemaStore.nvim": { "branch": "main", "commit": "f7cae6f1b38cb296f48ce1a9c5ed1a419d912a42" }, "LuaSnip": { "branch": "master", "commit": "ce0a05ab4e2839e1c48d072c5236cce846a387bc" },
"bufferline.nvim": { "branch": "main", "commit": "f6f00d9ac1a51483ac78418f9e63126119a70709" }, "SchemaStore.nvim": { "branch": "main", "commit": "623df28bf9a2661d9d5a0f391bf30bdd8f8de62b" },
"catppuccin": { "branch": "main", "commit": "a1439ad7c584efb3d0ce14ccb835967f030450fe" }, "bufferline.nvim": { "branch": "main", "commit": "0b2fd861eee7595015b6561dade52fb060be10c4" },
"catppuccin": { "branch": "main", "commit": "0b5df9c9e641b1212b21a0762ccad4434fd41322" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-git": { "branch": "main", "commit": "3d83031c4b63f9b10703e32e070cda0700a81992" },
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"conform.nvim": { "branch": "master", "commit": "a6965ac128eba75537ec2bc5ddd5d5e357062bdc" }, "conform.nvim": { "branch": "master", "commit": "797de8f79055334104cf77893cd93fe3fc2ac154" },
"copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, "crates.nvim": { "branch": "main", "commit": "c3fd47391de6999f4c939af89494d08443f71916" },
"copilot.lua": { "branch": "master", "commit": "f7612f5af4a7d7615babf43ab1e67a2d790c13a6" }, "dashboard-nvim": { "branch": "master", "commit": "fabf5feec96185817c732d47d363f34034212685" },
"crates.nvim": { "branch": "main", "commit": "786d12a70c9b91fa2d0d102bb07df02be0db31a1" }, "dial.nvim": { "branch": "master", "commit": "ed4d6a5bbd5e479b4c4a3019d148561a2e6c1490" },
"dashboard-nvim": { "branch": "master", "commit": "6d06924b562de6f0bb136edf1bf549afbf6b7d00" }, "dressing.nvim": { "branch": "master", "commit": "6741f1062d3dc6e4755367a7e9b347b553623f04" },
"dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" }, "flash.nvim": { "branch": "main", "commit": "25ba3f4d1e0b080213b39518ebcfbb693a23c957" },
"flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" }, "friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" },
"friendly-snippets": { "branch": "main", "commit": "ea068f1becd91bcd4591fceb6420d4335e2e14d3" }, "gitsigns.nvim": { "branch": "main", "commit": "f4928ba14eb6c667786ac7d69927f6aee6719f1e" },
"gitsigns.nvim": { "branch": "main", "commit": "7e38f07cab0e5387f9f41e92474db174a63a4725" }, "grug-far.nvim": { "branch": "main", "commit": "8d322481ee2e8ebc192513bdd370615e8884e7b7" },
"haskell-snippets.nvim": { "branch": "master", "commit": "e430927cb222718e14ac32116011b5e3df39ab51" },
"haskell-tools.nvim": { "branch": "master", "commit": "65d6993eba1a56bbd5211ef13a100d26ce3e644a" },
"headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" },
"indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, "hererocks": { "branch": "master", "commit": "8bd2fcfdd65cfa7535ce39ea372a63b0bdb8e528" },
"lazy.nvim": { "branch": "main", "commit": "bef521ac89c8d423f9d092e37b58e8af0c099309" }, "inc-rename.nvim": { "branch": "main", "commit": "8ba77017ca468f3029bf88ef409c2d20476ea66b" },
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, "indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" },
"lazy.nvim": { "branch": "main", "commit": "a09c876f6ef642c8feaea45932df73b058d9a083" },
"lazydev.nvim": { "branch": "main", "commit": "02f1055a777264d4b65896051ec28d0f322f7932" },
"lualine.nvim": { "branch": "master", "commit": "544dd1583f9bb27b393f598475c89809c4d5e86b" },
"luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" },
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "44509689b9bf3984d729cc264aacb31cb7f41668" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "58bc9119ca273c0ce5a66fad1927ef0f617bd81b" },
"mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "4ba55f9755ebe8297d92c419b90a946123292ae6" },
"mini.ai": { "branch": "main", "commit": "ee9446a17c160aba6a04ff22097389c41872c878" }, "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
"mini.animate": { "branch": "main", "commit": "82519630b2760ffc516ebc387bef632f9c07b9f5" }, "mini.ai": { "branch": "main", "commit": "45587078f323eaf41b9f701bbc04f8d1ab008979" },
"mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" }, "mini.comment": { "branch": "main", "commit": "03c13e37318bdb18481311c0ac1adc9ed731caf1" },
"mini.comment": { "branch": "main", "commit": "f9f1a646fd3d9df7397aa1b9550a875fe8189eb0" }, "mini.hipatterns": { "branch": "main", "commit": "aa68eb143ce77a57b6416fb4bd71ee0adba5a517" },
"mini.indentscope": { "branch": "main", "commit": "a8274b6ea2d868198d27bd91a31ed5ea3a6a5744" }, "mini.icons": { "branch": "main", "commit": "352a25dce86c41ab9fe854dd37f60c36ea7048df" },
"mini.pairs": { "branch": "main", "commit": "04f58f2545ed80ac3b52dd4826e93f33e15b2af6" }, "mini.move": { "branch": "main", "commit": "cde3747eec9bb3941296e6fa1d874e0da5a10256" },
"mini.surround": { "branch": "main", "commit": "d035934958e2605048ee1378ce47cf799f7071d4" }, "mini.pairs": { "branch": "main", "commit": "927d19cbdd0e752ab1c7eed87072e71d2cd6ff51" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "7aad1bf3f6b849cbf108e02c55ad4d701cb4d33a" }, "mini.surround": { "branch": "main", "commit": "57caca9525cec0ea771a67326b0ee637d056078a" },
"neoconf.nvim": { "branch": "main", "commit": "a7da418753379af428f5d26ac91aa6fc18baf86e" }, "neo-tree.nvim": { "branch": "main", "commit": "206241e451c12f78969ff5ae53af45616ffc9b72" },
"neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, "neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" },
"noice.nvim": { "branch": "main", "commit": "0cbe3f88d038320bdbda3c4c5c95f43a13c3aa12" }, "neotest": { "branch": "master", "commit": "32ff2ac21135a372a42b38ae131e531e64833bd3" },
"nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, "neotest-elixir": { "branch": "master", "commit": "c5067bcc3ec6a0bba7b5694fa15aeb17f16aeb3c" },
"nvim-cmp": { "branch": "main", "commit": "ce16de5665c766f39c271705b17fff06f7bcb84f" }, "neotest-haskell": { "branch": "master", "commit": "2ba3ed5f053694e5c831922b58abec412b22539a" },
"nvim-lint": { "branch": "master", "commit": "f098232d70cebe90e27404928c9bc19ca7a5a7b5" }, "neotest-python": { "branch": "master", "commit": "2e83d2bc00acbcc1fd529dbf0a0e677cabfe6b50" },
"nvim-lspconfig": { "branch": "master", "commit": "ed8b8a15acc441aec669f97d75f2c1f2ac8c8aa5" }, "noice.nvim": { "branch": "main", "commit": "5fd435c3c6c70d1fe79923593124aa0d52534bc1" },
"nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" },
"nvim-spectre": { "branch": "master", "commit": "9653847cf2f225648967f6e9363643e327387579" }, "nvim-cmp": { "branch": "main", "commit": "d818fd0624205b34e14888358037fb6f5dc51234" },
"nvim-treesitter": { "branch": "master", "commit": "bc808622986b0ba8eb64780b94d30cdfbd7c6a9f" }, "nvim-dap": { "branch": "master", "commit": "bc03b83c94d0375145ff5ac6a6dcf28c1241e06f" },
"nvim-treesitter-context": { "branch": "master", "commit": "ba4289ad345ececd335a9cdd7b9616fd0bb6be92" }, "nvim-dap-python": { "branch": "master", "commit": "d777c2b32ed39f61209c09bede28d7491621a631" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "23b820146956b3b681c19e10d3a8bc0cbd9a1d4c" }, "nvim-dap-ui": { "branch": "master", "commit": "a5606bc5958db86f8d92803bea7400ee26a8d7e4" },
"nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "484995d573c0f0563f6a66ebdd6c67b649489615" },
"nvim-ts-context-commentstring": { "branch": "main", "commit": "a6382f744f584bbf71d0a563af789af7190aabda" }, "nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" },
"nvim-web-devicons": { "branch": "master", "commit": "b3468391470034353f0e5110c70babb5c62967d3" }, "nvim-lspconfig": { "branch": "master", "commit": "1ea7c6126a1aa0121098e4f16c04d5dde1a4ba22" },
"persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, "nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
"plenary.nvim": { "branch": "master", "commit": "8aad4396840be7fc42896e3011751b7609ca4119" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" },
"nvim-snippets": { "branch": "main", "commit": "5c978b3ba0c504dc9f94ca93d17029f26064d229" },
"nvim-treesitter": { "branch": "master", "commit": "2883d0c03f4d0f80bbc1eacff61675cde7ed255b" },
"nvim-treesitter-context": { "branch": "master", "commit": "2aba92ceb1479485953007f4d5adf34d0b66917e" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" },
"nvim-ts-autotag": { "branch": "main", "commit": "1624866a1379fc1861797f0ed05899a9c1d2ff61" },
"nvim-ts-context-commentstring": { "branch": "main", "commit": "6b5f95aa4d24f2c629a74f2c935c702b08dbde62" },
"outline.nvim": { "branch": "main", "commit": "2175b6da5b7b5be9de14fd3f54383a17f5e4609c" },
"persistence.nvim": { "branch": "main", "commit": "40a137dd9240c9c6760c53df48d2b155f52c252b" },
"plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" },
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" }, "presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
"rustaceanvim": { "branch": "master", "commit": "2a53e2fe911e971fa90341af27d2fe1447c0cbd2" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" },
"tailwind-fold.nvim": { "branch": "main", "commit": "4335dd915073fe3da43a85b06742d12626603973" }, "rustaceanvim": { "branch": "master", "commit": "047f9c9d8cd2861745eb9de6c1570ee0875aa795" },
"tailwind-fold.nvim": { "branch": "main", "commit": "0e4ef9dc65916ce368fb6a81843293995f477f9e" },
"tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "3d3cd95e4a4135c250faf83dd5ed61b8e5502b86" }, "tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "3d3cd95e4a4135c250faf83dd5ed61b8e5502b86" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" },
"telescope.nvim": { "branch": "master", "commit": "d00d9df48c00d8682c14c2b5da78bda7ef06b939" }, "telescope.nvim": { "branch": "master", "commit": "79552ef8488cb492e0f9d2bf3b4e808f57515e35" },
"todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, "telescope_hoogle": { "branch": "master", "commit": "5c2ae51bcf905a7101134a597e6f7be2dc05f975" },
"tokyonight.nvim": { "branch": "main", "commit": "9bf9ec53d5e87b025e2404069b71e7ebdc3a13e5" }, "todo-comments.nvim": { "branch": "main", "commit": "96fee098a90e7c09c9811aa7df71d773ba8b9b53" },
"trouble.nvim": { "branch": "dev", "commit": "10eff94809ecd6ee6cc59f42e9521b9b8a14e9ce" }, "tokyonight.nvim": { "branch": "main", "commit": "1471dab694ad88351185758bb4275624d8b798ec" },
"vim-illuminate": { "branch": "master", "commit": "e522e0dd742a83506db0a72e1ced68c9c130f185" }, "tree-sitter-nu": { "branch": "main", "commit": "0bb9a602d9bc94b66fab96ce51d46a5a227ab76c" },
"vim-startuptime": { "branch": "master", "commit": "ac2cccb5be617672add1f4f3c0a55ce99ba34e01" }, "trouble.nvim": { "branch": "main", "commit": "40c5317a6e90fe3393f07b0fee580d9e93a216b4" },
"vimtex": { "branch": "master", "commit": "4a0ea3fc7eb67fd1949aba6a9bbd91cb5c875743" }, "ts-comments.nvim": { "branch": "main", "commit": "c075b4ee00f6e111b44bf99a8cfd5a4cfce9258a" },
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" } "typst-preview.nvim": { "branch": "master", "commit": "15eaaffc0a2d8cd871f485f399d1d67ed3322a0b" },
"venv-selector.nvim": { "branch": "regexp", "commit": "47159757b334343fe60f16d52478f827ccefa09d" },
"vim-wakatime": { "branch": "master", "commit": "53bba6bb8342de9cbdafc82142a9b5e82008d858" },
"vimtex": { "branch": "master", "commit": "80c9bc179784c30192d482741a43f176c859daa1" },
"which-key.nvim": { "branch": "main", "commit": "c74c245d9277ad6865b28ea7e37158b7f990b7fe" },
"yanky.nvim": { "branch": "main", "commit": "73215b77d22ebb179cef98e7e1235825431d10e4" },
"zen-mode.nvim": { "branch": "main", "commit": "a31cf7113db34646ca320f8c2df22cf1fbfc6f2a" }
} }

View file

@ -1,21 +1,40 @@
{ {
"extras": [ "extras": [
"lazyvim.plugins.extras.coding.copilot", "lazyvim.plugins.extras.dap.core",
"lazyvim.plugins.extras.editor.trouble-v3", "lazyvim.plugins.extras.test.core",
"lazyvim.plugins.extras.coding.copilot-chat",
"lazyvim.plugins.extras.coding.mini-comment",
"lazyvim.plugins.extras.coding.mini-surround",
"lazyvim.plugins.extras.coding.yanky",
"lazyvim.plugins.extras.editor.dial",
"lazyvim.plugins.extras.editor.inc-rename",
"lazyvim.plugins.extras.editor.mini-move",
"lazyvim.plugins.extras.formatting.black", "lazyvim.plugins.extras.formatting.black",
"lazyvim.plugins.extras.formatting.prettier", "lazyvim.plugins.extras.formatting.prettier",
"lazyvim.plugins.extras.lang.elixir",
"lazyvim.plugins.extras.lang.git",
"lazyvim.plugins.extras.lang.haskell",
"lazyvim.plugins.extras.lang.json", "lazyvim.plugins.extras.lang.json",
"lazyvim.plugins.extras.lang.markdown", "lazyvim.plugins.extras.lang.markdown",
"lazyvim.plugins.extras.lang.nix",
"lazyvim.plugins.extras.lang.nushell",
"lazyvim.plugins.extras.lang.python",
"lazyvim.plugins.extras.lang.rust", "lazyvim.plugins.extras.lang.rust",
"lazyvim.plugins.extras.lang.svelte",
"lazyvim.plugins.extras.lang.tailwind", "lazyvim.plugins.extras.lang.tailwind",
"lazyvim.plugins.extras.lang.tex", "lazyvim.plugins.extras.lang.tex",
"lazyvim.plugins.extras.lang.toml",
"lazyvim.plugins.extras.lang.typescript", "lazyvim.plugins.extras.lang.typescript",
"lazyvim.plugins.extras.lang.yaml", "lazyvim.plugins.extras.lang.yaml",
"lazyvim.plugins.extras.linting.eslint", "lazyvim.plugins.extras.linting.eslint",
"lazyvim.plugins.extras.ui.mini-animate" "lazyvim.plugins.extras.ui.treesitter-context",
"lazyvim.plugins.extras.util.dot",
"lazyvim.plugins.extras.util.mini-hipatterns",
"lazyvim.plugins.extras.util.project",
"lazyvim.plugins.extras.editor.outline"
], ],
"news": { "news": {
"NEWS.md": "3314" "NEWS.md": "6296"
}, },
"version": 3 "version": 6
} }

View file

@ -1,3 +1,5 @@
-- Autocmds are automatically loaded on the VeryLazy event -- Autocmds are automatically loaded on the VeryLazy event
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua -- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
-- Add any additional autocmds here -- Add any additional autocmds here
-- Lua equivalent in Neovim configuration (init.lua or init.vim)

View file

@ -10,13 +10,24 @@ vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
require("lazy").setup({ require("lazy").setup({
spec = { spec = {
-- add LazyVim and import its plugins -- add LazyVim and import its plugins
{ "LazyVim/LazyVim", import = "lazyvim.plugins" }, {
"LazyVim/LazyVim",
import = "lazyvim.plugins",
cond = function()
return not vim.g.vscode
end,
},
-- import any extras modules here -- import any extras modules here
-- { import = "lazyvim.plugins.extras.lang.typescript" }, -- { import = "lazyvim.plugins.extras.lang.typescript" },
-- { import = "lazyvim.plugins.extras.lang.json" }, -- { import = "lazyvim.plugins.extras.lang.json" },
-- { import = "lazyvim.plugins.extras.ui.mini-animate" }, -- { import = "lazyvim.plugins.extras.ui.mini-animate" },
-- import/override with your plugins -- import/override with your plugins
{ import = "plugins" }, {
import = "plugins",
cond = function()
return not vim.g.vscode
end,
},
}, },
defaults = { defaults = {
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
@ -28,7 +39,7 @@ require("lazy").setup({
-- version = "*", -- try installing the latest stable version for plugins that support semver -- version = "*", -- try installing the latest stable version for plugins that support semver
}, },
install = { colorscheme = { "tokyonight", "habamax" } }, install = { colorscheme = { "tokyonight", "habamax" } },
checker = { enabled = true }, -- automatically check for plugin updates checker = { enabled = false }, -- automatically check for plugin updates
performance = { performance = {
rtp = { rtp = {
-- disable some rtp plugins -- disable some rtp plugins

View file

@ -1,8 +0,0 @@
return {
{
"zbirenbaum/copilot.lua",
opts = function(_, opts)
table.insert(opts.filetypes, { markdown = false })
end,
},
}

View file

@ -134,6 +134,7 @@ return {
"typescript", "typescript",
"vim", "vim",
"yaml", "yaml",
"tinymist",
}, },
}, },
}, },

View file

@ -7,6 +7,8 @@ return {
lazy=false, lazy=false,
opts = { opts = {
workspace_text = "The One True Text Editor", workspace_text = "The One True Text Editor",
editing_text = "Hacking %s",
}, },
}, },
{ 'wakatime/vim-wakatime', lazy = false },
} }

View file

@ -4,7 +4,6 @@
return { return {
{ {
"nvim-neo-tree/neo-tree.nvim", "nvim-neo-tree/neo-tree.nvim",
close_if_last_window = true,
opts = { opts = {
window = { window = {
position = "right", position = "right",

View file

@ -10,4 +10,34 @@ return {
dependencies = { 'nvim-treesitter/nvim-treesitter' }, dependencies = { 'nvim-treesitter/nvim-treesitter' },
ft = { 'html', 'svelte', 'astro', 'vue', 'typescriptreact', 'php', 'blade' }, ft = { 'html', 'svelte', 'astro', 'vue', 'typescriptreact', 'php', 'blade' },
}, },
{
"stevearc/conform.nvim",
optional = true,
opts = {
formatters_by_ft = {
["javascript"] = { "prettier" },
["javascriptreact"] = { "prettier" },
["typescript"] = { "prettier" },
["typescriptreact"] = { "prettier" },
["vue"] = { "prettier" },
["css"] = { "prettier" },
["scss"] = { "prettier" },
["less"] = { "prettier" },
["html"] = { "prettier" },
["json"] = { "prettier" },
["jsonc"] = { "prettier" },
["yaml"] = { "prettier" },
["markdown"] = { "prettier" },
["markdown.mdx"] = { "prettier" },
["graphql"] = { "prettier" },
["handlebars"] = { "prettier" },
["toml"] = {"taplo"},
["tex"] = {"latexindent"},
["haskell"] = {"fourmolu"},
["nix"] = {"nixpkgs-fmt"},
["lua"] = {"stylua"},
["typst"] = {"typstfmt"}
},
},
}
} }

19
lua/plugins/latex.lua Normal file
View file

@ -0,0 +1,19 @@
-- defines latex plugins, which don't fall in to any of the other categories
-- eg. besides the lsp (defined in lsp) and formatter
return {
{
"lervag/vimtex",
ft = { "tex", "latex", "bib" },
-- tag = "v2.15", -- uncomment to pin to a specific release
init = function()
-- VimTeX configuration goes here
if vim.fn.executable("zathura") == 1 then
vim.g.vimtex_view_method = "zathura"
else
vim.g.vimtex_view_method = "skim"
end
vim.g.vimtex_compiler_method = "latexmk"
end,
},
}

View file

@ -1,14 +1,5 @@
-- defines linters and their configurations -- defines linters and their configurations
-- return {
-- {
-- "mfussenegger/nvim-lint",
-- optional = true,
-- opts = {
-- linters_by_ft = {
-- markdown = { "markdownlint" },
-- },
-- },
-- },
-- }
return {} return {}
-- }
-- return {}

View file

@ -1,36 +1,10 @@
return { return {
{ {
"neovim/nvim-lspconfig", "neovim/nvim-lspconfig",
opts = { opts = function(_, values)
servers = { table.insert(values.diagnostics, {
tailwindcss = { update_in_insert = false,
-- exclude a filetype from the default_config })
filetypes_exclude = { "markdown" }, end,
-- add additional filetypes to the default_config
filetypes_include = {},
-- to fully override the default_config, change the below
-- filetypes = {}
},
},
setup = {
tailwindcss = function(_, opts)
local tw = require("lspconfig.server_configurations.tailwindcss")
opts.filetypes = opts.filetypes or {}
-- Add default filetypes
vim.list_extend(opts.filetypes, tw.default_config.filetypes)
-- Remove excluded filetypes
--- @param ft string
opts.filetypes = vim.tbl_filter(function(ft)
return not vim.tbl_contains(opts.filetypes_exclude or {}, ft)
end, opts.filetypes)
-- Add additional filetypes
vim.list_extend(opts.filetypes, opts.filetypes_include or {})
end,
},
},
}, },
{ "roobert/tailwindcss-colorizer-cmp.nvim", config = true },
} }

View file

@ -10,6 +10,14 @@ return {
sidebars = "transparent", sidebars = "transparent",
floats = "transparent", floats = "transparent",
}, },
on_highlights = function(hl, colors)
hl.LineNr = {
fg = "#7a7a7a",
}
hl.CursorLineNr = {
fg = "white",
}
end,
}, },
}, },
-- { -- {
@ -34,85 +42,85 @@ return {
-- end -- end
-- } -- }
{ {
"nvimdev/dashboard-nvim", "nvimdev/dashboard-nvim",
event = "VimEnter", lazy = false, -- As https://github.com/nvimdev/dashboard-nvim/pull/450, dashboard-nvim shouldn't be lazy-loaded to properly handle stdin.
opts = function() opts = function()
local logo = { local logo = {
[[ ]], [[ ]],
[[ ]], [[ ]],
[[ ]], [[ ]],
[[ -` ]], [[ -` ]],
[[ .o+` ]], [[ .o+` ]],
[[ `ooo/ ]], [[ `ooo/ ]],
[[ `+oooo: ]], [[ `+oooo: ]],
[[ `+oooooo: ]], [[ `+oooooo: ]],
[[ -+oooooo+: ]], [[ -+oooooo+: ]],
[[ `/:-:++oooo+: ]], [[ `/:-:++oooo+: ]],
[[ `/++++/+++++++: ]], [[ `/++++/+++++++: ]],
[[ `/++++++++++++++: ]], [[ `/++++++++++++++: ]],
[[ `/+++ooooooooooooo/` ]], [[ `/+++ooooooooooooo/` ]],
[[ ./ooosssso++osssssso+` ]], [[ ./ooosssso++osssssso+` ]],
[[ .oossssso-````/ossssss+` ]], [[ .oossssso-````/ossssss+` ]],
[[ -osssssso. :ssssssso. ]], [[ -osssssso. :ssssssso. ]],
[[ :osssssss/ osssso+++. ]], [[ :osssssss/ osssso+++. ]],
[[ /ossssssss/ +ssssooo/- ]], [[ /ossssssss/ +ssssooo/- ]],
[[ `/ossssso+/:- -:/+osssso+- ]], [[ `/ossssso+/:- -:/+osssso+- ]],
[[ `+sso+:-` `.-/+oso: ]], [[ `+sso+:-` `.-/+oso: ]],
[[ `++:. `-/+/ ]], [[ `++:. `-/+/ ]],
[[ .` ` ]], [[ .` ` ]],
[[ ]], [[ ]],
[[ The One True Text Editor ]], [[ The One True Text Editor ]],
[[ ]], [[ ]],
[[ ]], [[ ]],
[[ ]], [[ ]],
} }
local opts = { local opts = {
theme = "doom", theme = "doom",
hide = { hide = {
-- this is taken care of by lualine -- this is taken care of by lualine
-- enabling this messes up the actual laststatus setting after loading a file -- enabling this messes up the actual laststatus setting after loading a file
statusline = false, statusline = false,
},
config = {
header = logo,
-- stylua: ignore
center = {
{ action = LazyVim.telescope("files"), desc = " Find File", icon = "", key = "f" },
{ action = "ene | startinsert", desc = " New File", icon = "", key = "n" },
{ action = "Telescope oldfiles", desc = " Recent Files", icon = "", key = "r" },
{ action = "Telescope live_grep", desc = " Find Text", icon = "", key = "g" },
{ action = [[lua LazyVim.telescope.config_files()()]], desc = " Config", icon = "", key = "c" },
{ action = 'lua require("persistence").load()', desc = " Restore Session", icon = "", key = "s" },
{ action = "LazyExtras", desc = " Lazy Extras", icon = "", key = "x" },
{ action = "Lazy", desc = " Lazy", icon = "󰒲 ", key = "l" },
{ action = "qa", desc = " Quit", icon = "", key = "q" },
}, },
footer = function() config = {
local stats = require("lazy").stats() header = logo,
local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100) -- stylua: ignore
return { "⚡ Neovim loaded " .. stats.loaded .. "/" .. stats.count .. " plugins in " .. ms .. "ms" } center = {
end, { action = 'lua LazyVim.pick()()', desc = " Find File", icon = "", key = "f" },
}, { action = "ene | startinsert", desc = " New File", icon = "", key = "n" },
} { action = 'lua LazyVim.pick("oldfiles")()', desc = " Recent Files", icon = "", key = "r" },
{ action = 'lua LazyVim.pick("live_grep")()', desc = " Find Text", icon = "", key = "g" },
{ action = 'lua LazyVim.pick.config_files()()', desc = " Config", icon = "", key = "c" },
{ action = 'lua require("persistence").load()', desc = " Restore Session", icon = "", key = "s" },
{ action = "LazyExtras", desc = " Lazy Extras", icon = "", key = "x" },
{ action = "Lazy", desc = " Lazy", icon = "󰒲 ", key = "l" },
{ action = function() vim.api.nvim_input("<cmd>qa<cr>") end, desc = " Quit", icon = "", key = "q" },
},
footer = function()
local stats = require("lazy").stats()
local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
return { "⚡ Neovim loaded " .. stats.loaded .. "/" .. stats.count .. " plugins in " .. ms .. "ms" }
end,
},
}
for _, button in ipairs(opts.config.center) do for _, button in ipairs(opts.config.center) do
button.desc = button.desc .. string.rep(" ", 43 - #button.desc) button.desc = button.desc .. string.rep(" ", 43 - #button.desc)
button.key_format = " %s" button.key_format = " %s"
end end
-- close Lazy and re-open when the dashboard is ready -- close Lazy and re-open when the dashboard is ready
if vim.o.filetype == "lazy" then if vim.o.filetype == "lazy" then
vim.cmd.close() vim.cmd.close()
vim.api.nvim_create_autocmd("User", { vim.api.nvim_create_autocmd("User", {
pattern = "DashboardLoaded", pattern = "DashboardLoaded",
callback = function() callback = function()
require("lazy").show() require("lazy").show()
end, end,
}) })
end end
return opts return opts
end, end,
} }
} }

View file

@ -4,7 +4,7 @@ return {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
opts = function(_, opts) opts = function(_, opts)
if type(opts.ensure_installed) == "table" then if type(opts.ensure_installed) == "table" then
vim.list_extend(opts.ensure_installed, { "markdown", "markdown_inline" }) vim.list_extend(opts.ensure_installed, { "markdown", "markdown_inline", "svelte", "rust", "haskell", "css" })
end end
end, end,
} }

1
lua/plugins/typst.lua Normal file
View file

@ -0,0 +1 @@
return {}

View file

@ -17,35 +17,13 @@ return {
opts = {}, -- merged with defaults from documentation opts = {}, -- merged with defaults from documentation
}, },
}, },
routes = {
{
filter = {
event = "msg_show",
any = {
{ find = "%d+L, %d+B" },
{ find = "; after #%d+" },
{ find = "; before #%d+" },
},
},
view = "mini",
},
},
presets = {
bottom_search = true,
command_palette = true,
long_message_to_split = true,
inc_rename = true,
},
}, },
-- stylua: ignore
keys = {
{ "<S-Enter>", function() require("noice").redirect(vim.fn.getcmdline()) end, mode = "c", desc = "Redirect Cmdline" },
{ "<leader>snl", function() require("noice").cmd("last") end, desc = "Noice Last Message" },
{ "<leader>snh", function() require("noice").cmd("history") end, desc = "Noice History" },
{ "<leader>sna", function() require("noice").cmd("all") end, desc = "Noice All" },
{ "<leader>snd", function() require("noice").cmd("dismiss") end, desc = "Dismiss All" },
{ "<c-f>", function() if not require("noice.lsp").scroll(4) then return "<c-f>" end end, silent = true, expr = true, desc = "Scroll Forward", mode = {"i", "n", "s"} },
{ "<c-b>", function() if not require("noice.lsp").scroll(-4) then return "<c-b>" end end, silent = true, expr = true, desc = "Scroll Backward", mode = {"i", "n", "s"}},
},
}, },
{
"folke/zen-mode.nvim",
config = function()
require("zen-mode").setup {}
vim.api.nvim_set_keymap('n', '<Space>wz', ':ZenMode<CR>', { noremap = true, silent = true })
end
}
} }