Compare commits

...

17 commits
v2.5.5 ... main

Author SHA1 Message Date
pojok code
5df3f7b2ab enc: add new command 2025-06-16 05:54:53 +07:00
pojok code
82d6ba2889 enc: add telescope diff file 2025-06-14 21:37:42 +07:00
pojok code
bf60de3aa1 fix:disable dressing input 2025-06-14 21:13:57 +07:00
pojok code
d31ffccdca enc: overide command TSInstallInfo 2025-06-14 19:46:00 +07:00
pojok code
d41d9b4cf5 fix: nvim menu create new file 2025-06-14 16:17:17 +07:00
pojok code
f3761c699a enc: update config mason backdrop 2025-06-11 21:13:56 +07:00
pojok code
04f3bfc8a3 enc: update config transparant 2025-06-10 22:57:15 +07:00
pojok code
56982c3434 enc: add uninstall prosedure 2025-06-10 21:41:41 +07:00
pojok code
65b1300677 enc: update transparant config for tabbufferline bg color 2025-06-10 21:09:13 +07:00
pojok code
5b2d06cf97 enc: add transparant config for tab 2025-06-10 07:44:40 +07:00
pojok code
af0923e403 enc: update patch plugins 2025-06-08 20:08:34 +07:00
Asep Komarudin
b727898cf3
update branch 2025-06-08 20:03:52 +07:00
pojok code
69d6dd962d enc: change golang linter to golangci-lint 2025-06-04 09:07:15 +07:00
pojok code
8e0228505a enc: update plugins regular 2025-06-04 06:14:30 +07:00
pojok code
c2fbd57469 enc: update config autocmd 2025-06-04 06:14:13 +07:00
pojok code
5dc5c723b2 fix: update config mason-lspconfig 2025-06-03 21:08:25 +07:00
Pojok Code
b3f841d25c qa: testing create java project 2024-11-18 20:18:15 +07:00
34 changed files with 1133 additions and 699 deletions

View file

@ -67,14 +67,14 @@
## Basic Requirement ## Basic Requirement
2. Install Neovim 0.95+ https://github.com/neovim/neovim/releases/tag/stable 2. Install Neovim 0.95+ https://github.com/neovim/neovim/releases/tag/stable
3. C++ https://www.msys2.org/ 1. C++ https://www.msys2.org/
4. GIT https://git-scm.com/download/win 1. GIT https://git-scm.com/download/win
5. NodeJs https://nodejs.org/en/ 1. NodeJs https://nodejs.org/en/
6. Ripgrep https://github.com/BurntSushi/ripgrep 1. Ripgrep https://github.com/BurntSushi/ripgrep
7. Lazygit https://github.com/jesseduffield/lazygit 1. Lazygit https://github.com/jesseduffield/lazygit
8. Nerd Font https://www.nerdfonts.com/ or https://github.com/ryanoasis/nerd-fonts 1. Nerd Font https://www.nerdfonts.com/ or https://github.com/ryanoasis/nerd-fonts
9. Windows Terminal (Windows) https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701?hl=en-id&gl=id 1. Windows Terminal (Windows) https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701?hl=en-id&gl=id
10. Powershell (windows) https://apps.microsoft.com/store/detail/powershell/9MZ1SNWT0N5D?hl=en-id&gl=id 1. Powershell (windows) https://apps.microsoft.com/store/detail/powershell/9MZ1SNWT0N5D?hl=en-id&gl=id
# Windows # Windows
@ -92,15 +92,21 @@ git clone https://github.com/pojokcodeid/neovim-starter.git ~/.config/nvim
# Uninstall # Uninstall
```bash ```bash
# Linux / Macos (unix) # Linux / MacOS (unix)
rm -rf ~/.config/nvim rm -rf ~/.config/nvim
rm -rf ~/.local/state/nvim
rm -rf ~/.local/share/nvim rm -rf ~/.local/share/nvim
# Flatpak (linux)
rm -rf ~/.var/app/io.neovim.nvim/config/nvim
rm -rf ~/.var/app/io.neovim.nvim/data/nvim
rm -rf ~/.var/app/io.neovim.nvim/.local/state/nvim
# Windows CMD # Windows CMD
rd -r ~\AppData\Local\nvim rd -r ~\AppData\Local\nvim
rd -r ~\AppData\Local\nvim-data rd -r ~\AppData\Local\nvim-data
# Window PowerShell # Windows PowerShell
rm -Force ~\AppData\Local\nvim rm -Force ~\AppData\Local\nvim
rm -Force ~\AppData\Local\nvim-data rm -Force ~\AppData\Local\nvim-data
``` ```

View file

@ -1,77 +1,78 @@
{ {
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"Eva-Theme.nvim": { "branch": "master", "commit": "5e0ee05b7b803cbd781612d484b0796c45946a3d" }, "Eva-Theme.nvim": { "branch": "master", "commit": "9d743346eb0e7647d79468fff6f57352cd102655" },
"FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" }, "FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" },
"LuaSnip": { "branch": "master", "commit": "659c4479529a05cc9b05ef762639a09d366cc690" }, "LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
"alpha-nvim": { "branch": "main", "commit": "de72250e054e5e691b9736ee30db72c65d560771" }, "alpha-nvim": { "branch": "main", "commit": "a35468cd72645dbd52c0624ceead5f301c566dff" },
"auto-bufferline.nvim": { "branch": "main", "commit": "f5835a4b62bfb6f6c829f8f050e5102ccf230b3e" }, "auto-bufferline.nvim": { "branch": "main", "commit": "f5835a4b62bfb6f6c829f8f050e5102ccf230b3e" },
"auto-conform.nvim": { "branch": "main", "commit": "5f0897235e84bf2f8ff9d634e81678d5bfa63ab8" }, "auto-conform.nvim": { "branch": "main", "commit": "5f0897235e84bf2f8ff9d634e81678d5bfa63ab8" },
"auto-java-project.nvim": { "branch": "main", "commit": "796bbee285c5eaed8784b8d91edd0ea5d25a3856" },
"auto-jdtls.nvim": { "branch": "main", "commit": "050da8d68c51a6e02a08d91329b7a848887927e7" },
"auto-lint.nvim": { "branch": "main", "commit": "aff13cb8eaa055e66e940d43b7d83166397e5413" }, "auto-lint.nvim": { "branch": "main", "commit": "aff13cb8eaa055e66e940d43b7d83166397e5413" },
"auto-lsp.nvim": { "branch": "main", "commit": "1f3ef04741972c107187a07be5615ff210888184" }, "auto-lsp.nvim": { "branch": "main", "commit": "ea80aef3ac630d310c2643047aaa7d7747d207a1" },
"auto-lualine.nvim": { "branch": "main", "commit": "fc8557f61dc1da12a8b90167a49420958b991d8c" }, "auto-lualine.nvim": { "branch": "main", "commit": "c889473aef975bf3b17a770dfb2039bb2a0cd41c" },
"breadcrumbs.nvim": { "branch": "master", "commit": "9f764278784ce2f10dbe2f555ba14be2451d36a0" }, "breadcrumbs.nvim": { "branch": "master", "commit": "9f764278784ce2f10dbe2f555ba14be2451d36a0" },
"bufferline.nvim": { "branch": "main", "commit": "5cc447cb2b463cb499c82eaeabbed4f5fa6a0a44" }, "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" },
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" }, "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"code_runner.nvim": { "branch": "main", "commit": "dcedccbf969a0f3bc00db446172b4966e83101dd" }, "code_runner.nvim": { "branch": "main", "commit": "65c8d11f507073b915f10faa88ea05bd4fbf69ce" },
"codeium.vim": { "branch": "main", "commit": "8c01979323b2b480c8bf160d3ff85bd1668baa49" }, "codeium.vim": { "branch": "main", "commit": "272c6e2755e8faa90e26bcdcd9fde6b9e61751ea" },
"conform.nvim": { "branch": "master", "commit": "023f795dbcf32d4351b6a9ed2e613d471b5bb812" }, "conform.nvim": { "branch": "master", "commit": "8132ec733eed3bf415b97b76797ca41b59f51d7d" },
"dressing.nvim": { "branch": "master", "commit": "fc78a3ca96f4db9f8893bb7e2fd9823e0780451b" }, "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
"friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"gitsigns.nvim": { "branch": "main", "commit": "ac5aba6dce8c06ea22bea2c9016f51a2dbf90dc7" }, "gitsigns.nvim": { "branch": "main", "commit": "731b581428ec6c1ccb451b95190ebbc6d7006db7" },
"inc-rename.nvim": { "branch": "main", "commit": "8ba77017ca468f3029bf88ef409c2d20476ea66b" }, "inc-rename.nvim": { "branch": "main", "commit": "a3e31af13844534c66041ce92f29af7745883875" },
"indent-blankline.nvim": { "branch": "master", "commit": "7871a88056f7144defca9c931e311a3134c5d509" }, "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"lazy.nvim": { "branch": "main", "commit": "7967abe55752aa90532e6bb4bd4663fe27a264cb" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" }, "lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "cab00668464d2914d0752b86168b4a431cc93eb2" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "f17d02b928a18ab88a50d374be036ab5f499fde4" },
"mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "4c2cdc69d69fe00c15ae8648f7e954d99e5de3ea" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, "mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
"menu": { "branch": "main", "commit": "657bfc91382c0928453d9a4d0a10ec92db5de2bb" }, "menu": { "branch": "main", "commit": "7a0a4a2896b715c066cfbe320bdc048091874cc6" },
"mini.indentscope": { "branch": "main", "commit": "da9af64649e114aa79480c238fd23f6524bc0903" }, "mini.indentscope": { "branch": "main", "commit": "5fdc3edf7bb1b6365980c2c47dac2f19ec93c97b" },
"minty": { "branch": "main", "commit": "a3d69bd63fc98f640815f94b797bf978e9193022" }, "minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" },
"neotest": { "branch": "master", "commit": "6d3d22cdad49999ef774ebe1bc250a4994038964" }, "neotest": { "branch": "master", "commit": "ef492755730e59e1d8122c461abbd086bee4c76b" },
"neotest-java": { "branch": "main", "commit": "320f31c71b183f2c584198f33f93542fd0e5a768" }, "neotest-golang": { "branch": "main", "commit": "0a0acff3cf9a0bf140c84ea9e66d818df7c2608f" },
"noice.nvim": { "branch": "main", "commit": "221ffbc499d322699ea079fcd878a2399529e775" }, "neotest-plenary": { "branch": "master", "commit": "3523adcf9ffaad1911960c5813b0136c1b63a2ec" },
"nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" }, "neotest-vim-test": { "branch": "master", "commit": "75c4228882ae4883b11bfce9b8383e637eb44192" },
"nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" }, "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
"nvim-cmp": { "branch": "main", "commit": "f17d9b4394027ff4442b298398dfcaab97e40c4f" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-colorizer.lua": { "branch": "master", "commit": "f134063618a65cad4d7415fddbd96ff7e0c5b4ae" }, "nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
"nvim-dap": { "branch": "master", "commit": "29d1f8814fa4fcc194ec574de998a42a22ebbe4a" }, "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
"nvim-dap-ui": { "branch": "master", "commit": "ffa89839f97bad360e78428d5c740fdad9a0ff02" }, "nvim-colorizer.lua": { "branch": "master", "commit": "517df88cf2afb36652830df2c655df2da416a0ae" },
"nvim-dap-virtual-text": { "branch": "master", "commit": "76d80c3d171224315b61c006502a1e30c213a9ab" }, "nvim-dap": { "branch": "master", "commit": "40a8189b8a57664a1850b0823fdcb3ac95b9f635" },
"nvim-jdtls": { "branch": "master", "commit": "c4279b8ffce9b64eb302056d78dfebc2968a49bc" }, "nvim-dap-go": { "branch": "main", "commit": "8763ced35b19c8dc526e04a70ab07c34e11ad064" },
"nvim-lint": { "branch": "master", "commit": "36da8dd0ddc4f88e0beae234c20e75397326f143" }, "nvim-dap-ui": { "branch": "master", "commit": "73a26abf4941aa27da59820fd6b028ebcdbcf932" },
"nvim-lspconfig": { "branch": "master", "commit": "87c7c83ce62971e0bdb29bb32b8ad2b19c8f95d0" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" },
"nvim-lint": { "branch": "master", "commit": "2b0039b8be9583704591a13129c600891ac2c596" },
"nvim-lspconfig": { "branch": "master", "commit": "7ad4a11cc5742774877c529fcfb2702f7caf75e4" },
"nvim-material-icon": { "branch": "main", "commit": "38fc13fe4811c4bf62533180ff5e7bbd237c5ef5" }, "nvim-material-icon": { "branch": "main", "commit": "38fc13fe4811c4bf62533180ff5e7bbd237c5ef5" },
"nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-navic": { "branch": "master", "commit": "f887d794a0f4594882814d7780980a949200a238" },
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" }, "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" }, "nvim-notify": { "branch": "master", "commit": "b5825cf9ee881dd8e43309c93374ed5b87b7a896" },
"nvim-scrollview": { "branch": "main", "commit": "f7f611330a8f7cd00dc81538fec369611be678ed" }, "nvim-scrollview": { "branch": "main", "commit": "095181bc2adb64af670dae73208871a731f0bb86" },
"nvim-tree.lua": { "branch": "master", "commit": "28eac2801b201f301449e976d7a9e8cfde053ba3" }, "nvim-tree.lua": { "branch": "master", "commit": "d87b41ca537e2131622d48a6c25ccf2fbe0e5d62" },
"nvim-treesitter": { "branch": "master", "commit": "20e10ca6914f65cf1410232433fb58de70ab6b39" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-ts-autotag": { "branch": "main", "commit": "e239a560f338be31337e7abc3ee42515daf23f5e" }, "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
"nvim-ts-context-commentstring": { "branch": "main", "commit": "9c74db656c3d0b1c4392fc89a016b1910539e7c0" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" },
"nvim-web-devicons": { "branch": "master", "commit": "19d257cf889f79f4022163c3fbb5e08639077bd8" }, "nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"rainbow-delimiters.nvim": { "branch": "master", "commit": "f22496dfdd46da4d571f5254c72eff65ff5a1c27" }, "rainbow-delimiters.nvim": { "branch": "master", "commit": "55ad4fb76ab68460f700599b7449385f0c4e858e" },
"refactoring.nvim": { "branch": "master", "commit": "53ed6854e0bba64d467c58e87084dcf8b1c22d36" }, "refactoring.nvim": { "branch": "master", "commit": "9cd0186ffe76fe6abc64c0aafb775c8f776ab5ee" },
"smart-splits.nvim": { "branch": "master", "commit": "ea4702652cb1d18811d60f2e206787602a2e946c" }, "showkeys": { "branch": "main", "commit": "cb0a50296f11f1e585acffba8c253b9e8afc1f84" },
"symbols-outline.nvim": { "branch": "master", "commit": "964c5902243446124417a3a9e9454f5ef032cc36" }, "smart-splits.nvim": { "branch": "master", "commit": "dcc9a886ac7214db6dd67d27044b8388b628dcb6" },
"telescope-diff.nvim": { "branch": "master", "commit": "c797b722516e871b51def7e69266f0cc9875bacf" },
"telescope-treesitter-info.nvim": { "branch": "master", "commit": "4bed952c3c33015c4402007f179b478843d5aa3b" }, "telescope-treesitter-info.nvim": { "branch": "master", "commit": "4bed952c3c33015c4402007f179b478843d5aa3b" },
"telescope.nvim": { "branch": "master", "commit": "85922dde3767e01d42a08e750a773effbffaea3e" }, "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
"tiny-devicons-auto-colors.nvim": { "branch": "main", "commit": "a39fa4c92268832f6034306793b8acbfec2a7549" }, "tiny-devicons-auto-colors.nvim": { "branch": "main", "commit": "51f548421f8a74680eff27d283c9d5ea6e8d0074" },
"toggleterm.nvim": { "branch": "main", "commit": "87b2d6a3cab8e2bd9a0255427074285f0365398d" }, "toggleterm.nvim": { "branch": "main", "commit": "9a88eae817ef395952e08650b3283726786fb5fb" },
"vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" }, "vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" },
"vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" }, "vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" },
"virt-column.nvim": { "branch": "master", "commit": "b87e3e0864211a32724a2ebf3be37e24e9e2fa99" }, "virt-column.nvim": { "branch": "master", "commit": "b87e3e0864211a32724a2ebf3be37e24e9e2fa99" },
"volt": { "branch": "main", "commit": "2cf7e86f3bc7f41cbb6d0a8d0d84fc759c0dae86" }, "volt": { "branch": "main", "commit": "7b8c5e790120d9f08c8487dcb80692db6d2087a1" },
"which-key.nvim": { "branch": "main", "commit": "68e37e12913a66b60073906f5d3f14dee0de19f2" }, "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" },
"yanky.nvim": { "branch": "main", "commit": "f9b905994cccf3c55f41af3a0a1f4c76c844e411" }, "yanky.nvim": { "branch": "main", "commit": "04775cc6e10ef038c397c407bc17f00a2f52b378" },
"zen-mode.nvim": { "branch": "main", "commit": "29b292bdc58b76a6c8f294c961a8bf92c5a6ebd6" } "zen-mode.nvim": { "branch": "main", "commit": "863f150ca321b3dd8aa1a2b69b5f411a220e144f" }
} }

View file

@ -22,67 +22,55 @@ local function gradle_new_project()
return result, false return result, false
end end
-- Ambil input Testing
-- Ambil input dari pengguna untuk menentukan direktori proyek local test, canceled_test = get_user_input("Testing (junit,junit-jupiter,testng,spock): ", "junit-jupiter")
local project_dir, canceled = get_user_input("Enter project directory: ", vim.fn.getcwd()) if canceled_test then
if canceled then
return return
end end
-- Ambil input DSL
-- Ambil input dari pengguna untuk Gradle local script_dsl, canceled_dsl = get_user_input("Script DSL (kotlin, groovy): ", "groovy")
local project_name, canceled_name = get_user_input("Enter project name: ", "myjavaproject") if canceled_dsl then
if canceled_name then
return return
end end
project_dir = project_dir .. "\\" .. project_name
-- Buat direktori jika belum ada
if vim.fn.isdirectory(project_dir) == 0 then
if vim.fn.mkdir(project_dir, "p") == 0 then
create_notif("Failed to create project directory: " .. project_dir, "error")
return
end
end
-- Pindah ke direktori proyek
local success, err = pcall(vim.fn.chdir, project_dir)
if not success then
create_notif("Error changing directory: " .. err, "error")
return
end
create_notif("Changed directory to: " .. project_dir, "info")
-- Ambil input package name -- Ambil input package name
local package_name, canceled_package = get_user_input("Enter package name: ", "com.example." .. project_name) local package_name, canceled_package = get_user_input("Enter package name: ", "com.example")
if canceled_package then if canceled_package then
return return
end end
-- Format perintah Gradle berdasarkan input pengguna -- Format perintah Gradle berdasarkan input pengguna
local command = string.format( local command = string.format(
"gradle init --type java-application --dsl groovy --project-name %s --package %s", "echo no | gradle init --type java-application --test-framework %s --dsl %s --package %s --no-daemon",
project_name, test,
script_dsl,
package_name package_name
) )
-- Fungsi untuk menjalankan perintah Gradle dan menampilkan outputnya -- Fungsi untuk menjalankan perintah Gradle dan menampilkan outputnya
local function run_gradle_command(cmd, dir, pkg) local function run_gradle_command(cmd, path, pkg)
local output = vim.fn.system(cmd) local output = vim.fn.system(cmd)
if vim.v.shell_error ~= 0 then if vim.v.shell_error ~= 0 then
create_notif("Error executing: " .. output, "error") create_notif("Error executing: " .. output, "error")
else else
create_notif("Project created successfully!", "info") create_notif("Project created successfully!", "info")
local main_class_path = string.format("%s/app/src/main/java/%s/App.java", dir, pkg:gsub("%.", "/")) create_notif("Please Reopen Dir : " .. path, "info")
vim.cmd(":NvimTreeFindFileToggle<CR>")
local main_class_path = string.format("%s/app/src/main/java/%s/App.java", path, pkg:gsub("%.", "/"))
if vim.fn.filereadable(main_class_path) == 1 then if vim.fn.filereadable(main_class_path) == 1 then
vim.cmd(":edit " .. main_class_path) vim.cmd(":edit " .. main_class_path)
end end
vim.cmd(":NvimTreeFindFileToggle<CR>") local function delayed_quit()
vim.defer_fn(function()
vim.cmd("qa!")
end, 4000) -- Delay is set in milliseconds (3,000ms = 3 seconds)
end
-- Run the delayed quit function
delayed_quit()
end end
end end
-- Jalankan perintah Gradle dan buka proyek -- Jalankan perintah Gradle dan buka proyek
run_gradle_command(command, project_dir, package_name) run_gradle_command(command, vim.fn.getcwd(), package_name)
end end
vim.api.nvim_create_user_command("GradleNewProject", gradle_new_project, {}) vim.api.nvim_create_user_command("GradleNewProject", gradle_new_project, {})

View file

@ -34,22 +34,32 @@ local function mvn_new_project()
end end
end end
-- Pindah ke direktori proyek -- Pindah ke direktori proyek
local success, err = pcall(vim.fn.chdir, project_dir) -- Hapus satu level dari path
local parent_dir = vim.fn.fnamemodify(project_dir, ":h")
local success, err = pcall(vim.fn.chdir, parent_dir)
if not success then if not success then
create_notif("Error changing directory: " .. err, "error") create_notif("Error changing directory: " .. err, "error")
return return
end end
create_notif("Changed directory to: " .. project_dir, "info") create_notif("Changed directory to: " .. project_dir, "info")
-- Fungsi untuk mendapatkan nama direktori terakhir dari path
local function getLastDirName(path)
local uname = vim.loop.os_uname().sysname
local name
if uname == "Windows_NT" then
name = path:match("([^\\]+)$")
else
name = path:match("([^/]+)$")
end
return name
end
-- Ambil input dari pengguna untuk Maven -- Ambil input dari pengguna untuk Maven
local group_id, canceled_group = get_user_input("Enter groupId: ", "com.example") local group_id, canceled_group = get_user_input("Enter groupId: ", "com.example")
if canceled_group then if canceled_group then
return return
end end
local artifact_id, canceled_artifact = get_user_input("Enter artifactId: ", "myproject") local artifact_id = getLastDirName(project_dir)
if canceled_artifact then
return
end
local archetype_artifact_id, canceled_archetype = local archetype_artifact_id, canceled_archetype =
get_user_input("Enter archetypeArtifactId: ", "maven-archetype-quickstart") get_user_input("Enter archetypeArtifactId: ", "maven-archetype-quickstart")
if canceled_archetype then if canceled_archetype then

View file

@ -81,19 +81,10 @@ local function create_java_class()
-- Tulis konten kelas Java ke dalam file -- Tulis konten kelas Java ke dalam file
local class_content = string.format( local class_content = string.format(
[[ [[
/*
* This Java source file.
*/
package %s; package %s;
public class %s { public class %s {
/**
*
*/
public %s() {
}
// Other methods and fields
} }
]], ]],
package_name, package_name,

View file

@ -2,14 +2,14 @@ local M = {}
M.setup = function(opt) M.setup = function(opt)
opt = opt or {} opt = opt or {}
require("auto-jdtls.utils").install() require("auto-jdtls2.create_gradle_project")
require("auto-jdtls.create_gradle_project") require("auto-jdtls2.create_maven_project")
require("auto-jdtls.create_maven_project") require("auto-jdtls2.create_springboot_project")
require("auto-jdtls.create_springboot_project") require("auto-jdtls2.generate_java_class")
require("auto-jdtls.generate_java_class") require("auto-jdtls2.generate_java_interface")
require("auto-jdtls.generate_java_interface") require("auto-jdtls2.generate_java_main_class")
require("auto-jdtls.generate_java_main_class") -- require("auto-jdtls2.utils").install()
require("auto-jdtls.utils").attach_jdtls(opt) -- require("auto-jdtls2.utils").attach_jdtls(opt)
end end
return M return M

View file

@ -1,47 +1,50 @@
return { return {
{ "nvim-lua/plenary.nvim", event = "VeryLazy" }, { "nvim-lua/plenary.nvim", event = "VeryLazy" },
{ {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
event = { "BufRead", "VeryLazy" }, event = { "BufRead", "VeryLazy" },
version = false, version = false,
build = ":TSUpdate", build = ":TSUpdate",
lazy = true, lazy = true,
cmd = { cmd = {
"TSInstall", "TSInstall",
"TSInstallInfo", -- "TSInstallInfo",
"TSInstallSync", "TSInstallSync",
"TSUpdate", "TSUpdate",
"TSUpdateSync", "TSUpdateSync",
"TSUninstall", "TSUninstall",
"TSUninstallInfo", "TSUninstallInfo",
"TSInstallFromGrammar", "TSInstallFromGrammar",
}, },
opts = function() opts = function()
return { return {
highlight = { enable = true }, highlight = { enable = true },
indent = { enable = true }, indent = { enable = true },
ensure_installed = { "lua", "luadoc", "printf", "vim", "vimdoc" }, ensure_installed = { "lua", "luadoc", "printf", "vim", "vimdoc" },
incremental_selection = { incremental_selection = {
enable = true, enable = true,
}, },
autopairs = { autopairs = {
enable = true, enable = true,
}, },
} }
end, end,
config = function(_, opts) config = function(_, opts)
if type(opts.ensure_installed) == "table" then if type(opts.ensure_installed) == "table" then
---@type table<string, boolean> ---@type table<string, boolean>
local added = {} local added = {}
opts.ensure_installed = vim.tbl_filter(function(lang) opts.ensure_installed = vim.tbl_filter(function(lang)
if added[lang] then if added[lang] then
return false return false
end end
added[lang] = true added[lang] = true
return true return true
end, opts.ensure_installed) end, opts.ensure_installed)
end end
require("nvim-treesitter.configs").setup(opts) require("nvim-treesitter.configs").setup(opts)
end, vim.api.nvim_create_user_command("TSInstallInfo", function()
}, vim.cmd("Telescope treesitter_info")
end, {})
end,
},
} }

View file

@ -2,6 +2,8 @@ return {
{ {
"L3MON4D3/LuaSnip", "L3MON4D3/LuaSnip",
event = "InsertEnter", event = "InsertEnter",
version = "v2.*",
build = "make install_jsregexp",
opts = { opts = {
history = true, history = true,
delete_check_events = "TextChanged", delete_check_events = "TextChanged",

View file

@ -1,34 +0,0 @@
return {
"stevearc/dressing.nvim",
lazy = true,
init = function()
---@diagnostic disable-next-line: duplicate-set-field
vim.ui.select = function(...)
require("lazy").load({ plugins = { "dressing.nvim" } })
return vim.ui.select(...)
end
---@diagnostic disable-next-line: duplicate-set-field
vim.ui.input = function(...)
require("lazy").load({ plugins = { "dressing.nvim" } })
return vim.ui.input(...)
end
end,
opts = {
input = {
title_pos = "center",
relative = "editor",
default_prompt = "",
win_options = { winhighlight = "Normal:Normal,NormalNC:Normal" },
prefer_width = 30,
max_width = { 140, 0.9 },
min_width = { 50, 0.2 },
},
select = {
backend = { "telescope", "builtin" },
builtin = { win_options = { winhighlight = "Normal:Normal,NormalNC:Normal" } },
},
},
config = function(_, opts)
require("dressing").setup(opts)
end,
}

View file

@ -0,0 +1,35 @@
return {
"pojokcodeid/dressing.nvim",
lazy = true,
init = function()
---@diagnostic disable-next-line: duplicate-set-field
vim.ui.select = function(...)
require("lazy").load({ plugins = { "dressing.nvim" } })
return vim.ui.select(...)
end
---@diagnostic disable-next-line: duplicate-set-field
-- vim.ui.input = function(...)
-- require("lazy").load({ plugins = { "dressing.nvim" } })
-- return vim.ui.input(...)
-- end
end,
opts = {
input = {
enabled = false,
title_pos = "center",
relative = "editor",
default_prompt = "",
win_options = { winhighlight = "Normal:Normal,NormalNC:Normal" },
prefer_width = 30,
max_width = { 140, 0.9 },
min_width = { 50, 0.2 },
},
select = {
backend = { "telescope", "builtin" },
builtin = { win_options = { winhighlight = "Normal:Normal,NormalNC:Normal" } },
},
},
config = function(_, opts)
require("dressing").setup(opts)
end,
}

View file

@ -0,0 +1,14 @@
return {
"j-hui/fidget.nvim",
lazy = true,
tag = "legacy",
event = "BufRead",
config = function()
require("fidget").setup({
window = {
blend = 0,
relative = "editor",
},
})
end,
}

View file

@ -1,12 +1,13 @@
return { return {
{ {
"nvchad/menu", "nvzone/menu",
lazy = true, lazy = true,
event = { "VeryLazy" }, event = { "VeryLazy" },
dependencies = { dependencies = {
{ "nvchad/volt", lazy = true }, { "nvzone/volt", lazy = true },
{ "nvzone/showkeys", cmd = "ShowkeysToggle", lazy = true },
{ {
"nvchad/minty", "nvzone/minty",
cmd = { "Shades", "Huefy" }, cmd = { "Shades", "Huefy" },
lazy = true, lazy = true,
}, },
@ -22,10 +23,12 @@ return {
end, {}) end, {})
-- mouse users + nvimtree users! -- mouse users + nvimtree users!
vim.keymap.set("n", "<RightMouse>", function() vim.keymap.set({ "n", "v" }, "<RightMouse>", function()
require("menu.utils").delete_old_menus()
vim.cmd.exec('"normal! \\<RightMouse>"') vim.cmd.exec('"normal! \\<RightMouse>"')
local options = vim.bo.ft == "NvimTree" and "nvimtree" or "default" local buf = vim.api.nvim_win_get_buf(vim.fn.getmousepos().winid)
local options = vim.bo[buf].ft == "NvimTree" and "nvimtree" or "default"
require("menu").open(options, opts) require("menu").open(options, opts)
end, {}) end, {})
end, end,

View file

@ -2,6 +2,7 @@ return {
"hiphish/rainbow-delimiters.nvim", "hiphish/rainbow-delimiters.nvim",
lazy = true, lazy = true,
event = "BufRead", event = "BufRead",
branch = "master",
config = function() config = function()
-- Modul ini berisi beberapa definisi default -- Modul ini berisi beberapa definisi default
local rainbow_delimiters = require("rainbow-delimiters") local rainbow_delimiters = require("rainbow-delimiters")

View file

@ -0,0 +1,26 @@
return {
"nvim-telescope/telescope.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"jemag/telescope-diff.nvim",
},
config = function()
require("telescope").load_extension("diff")
end,
keys = {
{
"<leader>sd",
function()
require("telescope").extensions.diff.diff_files({ hidden = true })
end,
desc = "Diff 2 Files",
},
{
"<leader>sD",
function()
require("telescope").extensions.diff.diff_current({ hidden = true })
end,
desc = "Diff Current File",
},
},
}

View file

@ -0,0 +1,22 @@
return {
"rachartier/tiny-inline-diagnostic.nvim",
event = "VeryLazy", -- Or `LspAttach`
priority = 1000, -- needs to be loaded in first
config = function()
require("tiny-inline-diagnostic").setup({
preset = "powerline",
-- signs = {
-- left = "",
-- right = "",
-- diag = "●",
-- arrow = "  ",
-- up_arrow = "  ",
-- vertical = " │",
-- vertical_end = " └",
-- },
blend = {
factor = 0.22,
},
})
end,
}

View file

@ -21,6 +21,8 @@ return {
"WinBar", "WinBar",
"WinBarNC", "WinBarNC",
"NotifyBackground", "NotifyBackground",
"TabLine",
"TabLineFill",
}, },
exclude_groups = { exclude_groups = {
-- disable active selection backgroun -- disable active selection backgroun
@ -53,6 +55,10 @@ return {
-- create auto command to set transparent -- create auto command to set transparent
vim.cmd("TransparentDisable") vim.cmd("TransparentDisable")
vim.cmd("TransparentEnable") vim.cmd("TransparentEnable")
vim.api.nvim_set_hl(0, "MasonHeader", { bold = true, bg = "NONE", fg = "#838FA7" })
vim.api.nvim_set_hl(0, "MasonMutedBlock", { bg = "NONE", fg = "#838FA7" })
vim.api.nvim_set_hl(0, "MasonHighlightBlockBold", { bold = true, bg = "NONE", fg = "#ABB2BF" })
vim.api.nvim_set_hl(0, "LazyH1", { bold = true, bg = "NONE", fg = "#ABB2BF" })
end, end,
}, },
{ {

View file

@ -1,101 +1,105 @@
return { return {
{ {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
opts = function(_, opts) opts = function(_, opts)
opts.ensure_installed = opts.ensure_installed or {} opts.ensure_installed = opts.ensure_installed or {}
vim.list_extend(opts.ensure_installed, { "go", "gomod", "gosum", "gotmpl", "gowork" }) vim.list_extend(opts.ensure_installed, { "go", "gomod", "gosum", "gotmpl", "gowork" })
end, end,
}, },
{ {
"williamboman/mason-lspconfig.nvim", "williamboman/mason-lspconfig.nvim",
opts = function(_, opts) opts = function(_, opts)
opts.ensure_installed = opts.ensure_installed or {} opts.ensure_installed = opts.ensure_installed or {}
vim.list_extend(opts.ensure_installed, { "gopls" }) vim.list_extend(opts.ensure_installed, { "gopls" })
end, -- add run command for current filebuffer
}, vim.api.nvim_create_user_command("RunGo", function()
{ vim.cmd("term go run " .. vim.fn.expand("%"))
"pojokcodeid/auto-conform.nvim", end, {})
event = "VeryLazy", end,
opts = function(_, opts) },
local package = "gofumpt" {
vim.list_extend(opts.ensure_installed, { package }) "pojokcodeid/auto-conform.nvim",
opts.formatters_by_ft.gofumpt = { package } event = "VeryLazy",
end, opts = function(_, opts)
}, local package = "gofumpt"
{ vim.list_extend(opts.ensure_installed, { package })
"pojokcodeid/auto-lint.nvim", opts.formatters_by_ft.gofumpt = { package }
opts = function(_, opts) end,
opts.linters_by_ft = opts.linters_by_ft or {} },
vim.list_extend(opts.ensure_installed, { "ast-grep" }) {
opts.linters_by_ft.php = { "ast-grep" } "pojokcodeid/auto-lint.nvim",
end, opts = function(_, opts)
}, opts.linters_by_ft = opts.linters_by_ft or {}
{ vim.list_extend(opts.ensure_installed, { "golangci-lint" })
"nvim-neotest/neotest", opts.linters_by_ft.php = { "golangci-lint" }
event = "VeryLazy", end,
dependencies = { },
"nvim-lua/plenary.nvim", {
"antoinemadec/FixCursorHold.nvim", "nvim-neotest/neotest",
"nvim-treesitter/nvim-treesitter", event = "VeryLazy",
dependencies = {
"nvim-lua/plenary.nvim",
"antoinemadec/FixCursorHold.nvim",
"nvim-treesitter/nvim-treesitter",
"nvim-neotest/neotest-plenary", "nvim-neotest/neotest-plenary",
"nvim-neotest/neotest-vim-test", "nvim-neotest/neotest-vim-test",
"nvim-neotest/nvim-nio", "nvim-neotest/nvim-nio",
{ {
"fredrikaverpil/neotest-golang", "fredrikaverpil/neotest-golang",
dependencies = { dependencies = {
{ {
"leoluz/nvim-dap-go", "leoluz/nvim-dap-go",
opts = {}, opts = {},
}, },
}, },
branch = "main", branch = "main",
}, },
}, },
opts = function(_, opts) opts = function(_, opts)
opts.adapters = opts.adapters or {} opts.adapters = opts.adapters or {}
opts.adapters["neotest-golang"] = { opts.adapters["neotest-golang"] = {
go_test_args = { go_test_args = {
"-v", "-v",
"-race", "-race",
"-count=1", "-count=1",
"-timeout=60s", "-timeout=60s",
"-coverprofile=" .. vim.fn.getcwd() .. "/coverage.out", "-coverprofile=" .. vim.fn.getcwd() .. "/coverage.out",
}, },
dap_go_enabled = true, dap_go_enabled = true,
} }
end, end,
config = function(_, opts) config = function(_, opts)
if opts.adapters then if opts.adapters then
local adapters = {} local adapters = {}
for name, config in pairs(opts.adapters or {}) do for name, config in pairs(opts.adapters or {}) do
if type(name) == "number" then if type(name) == "number" then
if type(config) == "string" then if type(config) == "string" then
config = require(config) config = require(config)
end end
adapters[#adapters + 1] = config adapters[#adapters + 1] = config
elseif config ~= false then elseif config ~= false then
local adapter = require(name) local adapter = require(name)
if type(config) == "table" and not vim.tbl_isempty(config) then if type(config) == "table" and not vim.tbl_isempty(config) then
local meta = getmetatable(adapter) local meta = getmetatable(adapter)
if adapter.setup then if adapter.setup then
adapter.setup(config) adapter.setup(config)
elseif meta and meta.__call then elseif meta and meta.__call then
adapter(config) adapter(config)
else else
error("Adapter " .. name .. " does not support setup") error("Adapter " .. name .. " does not support setup")
end end
end end
adapters[#adapters + 1] = adapter adapters[#adapters + 1] = adapter
end end
end end
opts.adapters = adapters opts.adapters = adapters
end end
require("neotest").setup(opts) require("neotest").setup(opts)
end, end,
-- stylua: ignore -- stylua: ignore
keys = { keys = {
{ "<leader>T","",desc="  Test"}, { "<leader>T","",desc="  Test"},
@ -111,54 +115,54 @@ return {
{ "<leader>Tt", function() require("neotest").run.stop() end, desc = "[t]est [t]erminate" }, { "<leader>Tt", function() require("neotest").run.stop() end, desc = "[t]est [t]erminate" },
{ "<leader>Td", function() require("neotest").run.run({ suite = false, strategy = "dap" }) end, desc = "Debug nearest test" }, { "<leader>Td", function() require("neotest").run.run({ suite = false, strategy = "dap" }) end, desc = "Debug nearest test" },
}, },
}, },
{ {
"rcarriga/nvim-dap-ui", "rcarriga/nvim-dap-ui",
lazy = true, lazy = true,
event = "BufRead", event = "BufRead",
dependencies = { dependencies = {
{ "mfussenegger/nvim-dap", lazy = true }, { "mfussenegger/nvim-dap", lazy = true },
{ "nvim-neotest/nvim-nio", lazy = true }, { "nvim-neotest/nvim-nio", lazy = true },
{ {
"theHamsta/nvim-dap-virtual-text", "theHamsta/nvim-dap-virtual-text",
opts = { opts = {
virt_text_win_col = 80, virt_text_win_col = 80,
}, },
}, },
}, },
config = function() config = function()
require("pcode.user.dapui") require("pcode.user.dapui")
end, end,
keys = { keys = {
{ "<leader>d", "", desc = "  Debug" }, { "<leader>d", "", desc = "  Debug" },
{ "<leader>dt", "<cmd>lua require'dap'.toggle_breakpoint()<cr>", desc = "Toggle Breakpoint" }, { "<leader>dt", "<cmd>lua require'dap'.toggle_breakpoint()<cr>", desc = "Toggle Breakpoint" },
{ "<leader>db", "<cmd>lua require'dap'.step_back()<cr>", desc = "Step Back" }, { "<leader>db", "<cmd>lua require'dap'.step_back()<cr>", desc = "Step Back" },
{ "<leader>dc", "<cmd>lua require'dap'.continue()<cr>", desc = "Continue" }, { "<leader>dc", "<cmd>lua require'dap'.continue()<cr>", desc = "Continue" },
{ "<leader>dC", "<cmd>lua require'dap'.run_to_cursor()<cr>", desc = "Run To Cursor" }, { "<leader>dC", "<cmd>lua require'dap'.run_to_cursor()<cr>", desc = "Run To Cursor" },
{ "<leader>dd", "<cmd>lua require'dap'.disconnect()<cr>", desc = "Disconnect" }, { "<leader>dd", "<cmd>lua require'dap'.disconnect()<cr>", desc = "Disconnect" },
{ "<leader>dg", "<cmd>lua require'dap'.session()<cr>", desc = "Get Session" }, { "<leader>dg", "<cmd>lua require'dap'.session()<cr>", desc = "Get Session" },
{ "<leader>di", "<cmd>lua require'dap'.step_into()<cr>", desc = "Step Into" }, { "<leader>di", "<cmd>lua require'dap'.step_into()<cr>", desc = "Step Into" },
{ "<leader>do", "<cmd>lua require'dap'.step_over()<cr>", desc = "Step Over" }, { "<leader>do", "<cmd>lua require'dap'.step_over()<cr>", desc = "Step Over" },
{ "<leader>du", "<cmd>lua require'dap'.step_out()<cr>", desc = "Step Out" }, { "<leader>du", "<cmd>lua require'dap'.step_out()<cr>", desc = "Step Out" },
{ "<leader>dp", "<cmd>lua require'dap'.pause()<cr>", desc = "Pause" }, { "<leader>dp", "<cmd>lua require'dap'.pause()<cr>", desc = "Pause" },
{ "<leader>dr", "<cmd>lua require'dap'.repl.toggle()<cr>", desc = "Toggle Repl" }, { "<leader>dr", "<cmd>lua require'dap'.repl.toggle()<cr>", desc = "Toggle Repl" },
{ "<leader>ds", "<cmd>lua require'dap'.continue()<cr>", desc = "Start" }, { "<leader>ds", "<cmd>lua require'dap'.continue()<cr>", desc = "Start" },
{ "<leader>dq", "<cmd>lua require'dap'.close()<cr>", desc = "Quit" }, { "<leader>dq", "<cmd>lua require'dap'.close()<cr>", desc = "Quit" },
{ "<leader>dU", "<cmd>lua require'dapui'.toggle({reset = true})<cr>", desc = "Toggle UI" }, { "<leader>dU", "<cmd>lua require'dapui'.toggle({reset = true})<cr>", desc = "Toggle UI" },
}, },
}, },
{ {
"jay-babu/mason-nvim-dap.nvim", "jay-babu/mason-nvim-dap.nvim",
lazy = true, lazy = true,
event = "BufRead", event = "BufRead",
dependencies = { "williamboman/mason.nvim", "mfussenegger/nvim-dap" }, dependencies = { "williamboman/mason.nvim", "mfussenegger/nvim-dap" },
config = function() config = function()
require("mason-nvim-dap").setup({ require("mason-nvim-dap").setup({
automatic_installation = true, automatic_installation = true,
automatic_setup = true, automatic_setup = true,
handlers = {}, handlers = {},
ensure_installed = { "delve" }, ensure_installed = { "delve" },
}) })
end, end,
}, },
} }

View file

@ -17,7 +17,7 @@ return {
return math.floor(vim.o.lines * 0.75) return math.floor(vim.o.lines * 0.75)
end, end,
max_width = function() max_width = function()
return math.floor(vim.o.columns * 0.3) return math.floor(vim.o.columns * 0.4)
end, end,
render = "wrapped-compact", render = "wrapped-compact",
-- background_colour = "#00000000", -- background_colour = "#00000000",

View file

@ -1,45 +1,60 @@
return { return {
"nvim-tree/nvim-tree.lua", "nvim-tree/nvim-tree.lua",
cmd = { "NvimTreeFindFileToggle", "NvimTree", "NvimTreeOpen", "NvimTreeToggle", "NvimTreeFocus", "NvimTreeClose" }, cmd = { "NvimTreeFindFileToggle", "NvimTree", "NvimTreeOpen", "NvimTreeToggle", "NvimTreeFocus", "NvimTreeClose" },
keys = { keys = {
{ "<leader>e", "<cmd>NvimTreeToggle<cr>", desc = "󰙅 Explorer" }, { "<leader>e", "<cmd>NvimTreeToggle<cr>", desc = "󰙅 Explorer" },
}, },
opts = function(_, opts) opts = function(_, opts)
local icons = require("pcode.user.icons") local icons = require("pcode.user.icons")
opts.disable_netrw = true opts.auto_reload_on_write = false
opts.hijack_cursor = true opts.disable_netrw = false
opts.sync_root_with_cwd = true opts.hijack_cursor = false
opts.update_focused_file = { opts.hijack_netrw = true
enable = true, opts.hijack_unnamed_buffer_when_opening = false
update_root = false, opts.sync_root_with_cwd = true
} opts.sort = {
opts.view = { sorter = "name",
adaptive_size = false, folders_first = true,
centralize_selection = true, files_first = false,
width = 30, }
side = "left", opts.root_dirs = {}
preserve_window_proportions = false, opts.prefer_startup_root = false
number = false, opts.sync_root_with_cwd = true
relativenumber = false, opts.reload_on_bufenter = false
signcolumn = "yes", opts.respect_buf_cwd = false
float = { opts.on_attach = "default"
enable = false, opts.select_prompts = false
quit_on_focus_loss = true, opts.update_focused_file = {
open_win_config = { enable = true,
relative = "editor", update_root = false,
border = "rounded", }
width = 30, opts.view = {
height = 30, adaptive_size = false,
row = 1, centralize_selection = true,
col = 1, width = 30,
}, side = "left",
}, preserve_window_proportions = false,
} number = false,
opts.renderer = { relativenumber = false,
root_folder_label = false, signcolumn = "yes",
highlight_git = true, float = {
indent_markers = { enable = true }, enable = false,
--[[ indent_markers = { quit_on_focus_loss = true,
open_win_config = {
relative = "editor",
border = "rounded",
width = 30,
height = 30,
row = 1,
col = 1,
},
},
}
opts.renderer = {
root_folder_label = false,
highlight_git = true,
indent_markers = { enable = true },
--[[ indent_markers = {
enable = true, enable = true,
inline_arrows = true, inline_arrows = true,
icons = { icons = {
@ -49,73 +64,73 @@ return {
none = " ", none = " ",
}, },
}, ]] }, ]]
icons = { icons = {
webdev_colors = true, webdev_colors = true,
git_placement = "before", git_placement = "before",
padding = " ", padding = " ",
symlink_arrow = "", symlink_arrow = "",
show = { show = {
file = true, file = true,
folder = true, folder = true,
folder_arrow = true, folder_arrow = true,
git = true, git = true,
}, },
glyphs = { glyphs = {
default = icons.ui.Text, default = icons.ui.Text,
symlink = icons.ui.FileSymlink, symlink = icons.ui.FileSymlink,
bookmark = icons.ui.BookMark, bookmark = icons.ui.BookMark,
folder = { folder = {
arrow_closed = icons.ui.ChevronShortRight, arrow_closed = icons.ui.ChevronShortRight,
arrow_open = icons.ui.ChevronShortDown, arrow_open = icons.ui.ChevronShortDown,
default = icons.ui.Folder, default = icons.ui.Folder,
open = icons.ui.FolderOpen, open = icons.ui.FolderOpen,
empty = icons.ui.EmptyFolder, empty = icons.ui.EmptyFolder,
empty_open = icons.ui.EmptyFolderOpen, empty_open = icons.ui.EmptyFolderOpen,
symlink = icons.ui.FolderSymlink, symlink = icons.ui.FolderSymlink,
symlink_open = icons.ui.FolderOpen, symlink_open = icons.ui.FolderOpen,
}, },
git = { git = {
unstaged = icons.git.FileUnstaged, unstaged = icons.git.FileUnstaged,
staged = icons.git.FileStaged, staged = icons.git.FileStaged,
unmerged = icons.git.FileUnmerged, unmerged = icons.git.FileUnmerged,
renamed = icons.git.FileRenamed, renamed = icons.git.FileRenamed,
untracked = icons.git.FileUntracked, untracked = icons.git.FileUntracked,
deleted = icons.git.FileDeleted, deleted = icons.git.FileDeleted,
ignored = icons.git.FileIgnored, ignored = icons.git.FileIgnored,
}, },
}, },
}, },
special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md" }, special_files = { "Cargo.toml", "Makefile", "README.md", "readme.md" },
symlink_destination = true, symlink_destination = true,
} }
opts.filters = { opts.filters = {
dotfiles = false, dotfiles = false,
git_clean = false, git_clean = false,
no_buffer = false, no_buffer = false,
custom = { "node_modules", "\\.cache", "\\.git" }, custom = { "node_modules", "\\.cache", "\\.git" },
exclude = { exclude = {
".gitignore", ".gitignore",
".prettierignore", ".prettierignore",
}, },
} }
opts.notify = { opts.notify = {
threshold = vim.log.levels.INFO, threshold = vim.log.levels.INFO,
} }
opts.git = { opts.git = {
enable = true, enable = true,
ignore = false, ignore = false,
show_on_dirs = true, show_on_dirs = true,
show_on_open_dirs = true, show_on_open_dirs = true,
disable_for_dirs = {}, disable_for_dirs = {},
timeout = 400, timeout = 400,
} }
return opts return opts
end, end,
config = function(_, opts) config = function(_, opts)
require("nvim-tree").setup(opts) require("nvim-tree").setup(opts)
local api = require("nvim-tree.api") local api = require("nvim-tree.api")
api.events.subscribe(api.events.Event.FileCreated, function(file) api.events.subscribe(api.events.Event.FileCreated, function(file)
vim.cmd("edit " .. file.fname) vim.cmd("edit " .. file.fname)
end) end)
end, end,
} }

View file

@ -49,6 +49,7 @@ return {
Normal = { fg = colors.text, bg = transparent and colors.none or colors.base }, Normal = { fg = colors.text, bg = transparent and colors.none or colors.base },
NormalNC = { fg = colors.text, bg = transparent and colors.none or colors.base }, NormalNC = { fg = colors.text, bg = transparent and colors.none or colors.base },
StatusLine = { fg = colors.text, bg = colors.none }, StatusLine = { fg = colors.text, bg = colors.none },
MasonBackdrop = { link = "NormalFloat" },
} }
end, end,
highlight_overrides = { highlight_overrides = {

View file

@ -1,62 +1,63 @@
return { return {
"Mofiqul/dracula.nvim", "Mofiqul/dracula.nvim",
priority = 1000, priority = 1000,
opts=function() opts = function()
local colors = require("dracula").colors() local colors = require("dracula").colors()
return{ return {
colors = { colors = {
-- purple = "#FCC76A", -- purple = "#FCC76A",
menu = colors.bg, menu = colors.bg,
selection = "#363848", selection = "#363848",
}, },
italic_comment = true, italic_comment = true,
lualine_bg_color = colors.bg, lualine_bg_color = colors.bg,
overrides = { overrides = {
Keywords = { fg = colors.cyan, italic = true }, Keywords = { fg = colors.cyan, italic = true },
["@keyword"] = { fg = colors.pink, italic = true }, ["@keyword"] = { fg = colors.pink, italic = true },
["@keyword.function"] = { fg = colors.cyan, italic = true }, ["@keyword.function"] = { fg = colors.cyan, italic = true },
["@function"] = { fg = colors.green, italic = true }, ["@function"] = { fg = colors.green, italic = true },
["@tag.attribute"] = { fg = colors.green, italic = true }, ["@tag.attribute"] = { fg = colors.green, italic = true },
["@tag.builtin.javascript"] = { fg = colors.pink }, ["@tag.builtin.javascript"] = { fg = colors.pink },
["@tag.delimiter.javascript"] = { fg = colors.fg }, ["@tag.delimiter.javascript"] = { fg = colors.fg },
["@type.javascript"] = { fg = colors.fg }, ["@type.javascript"] = { fg = colors.fg },
["@property.css"] = { fg = colors.cyan }, ["@property.css"] = { fg = colors.cyan },
["@type.css"] = { fg = colors.green }, ["@type.css"] = { fg = colors.green },
["@tag.css"] = { fg = colors.pink }, ["@tag.css"] = { fg = colors.pink },
["@keyword.css"] = { fg = colors.fg }, ["@keyword.css"] = { fg = colors.fg },
["@string.css"] = { fg = colors.pink }, ["@string.css"] = { fg = colors.pink },
NvimTreeFolderIcon = { fg = "#6776a7" }, NvimTreeFolderIcon = { fg = "#6776a7" },
CmpItemAbbr = { fg = "#ABB2BF" }, CmpItemAbbr = { fg = "#ABB2BF" },
CmpItemKind = { fg = "#ABB2BF" }, CmpItemKind = { fg = "#ABB2BF" },
CmpItemAbbrDeprecated = { fg = "#ABB2BF" }, CmpItemAbbrDeprecated = { fg = "#ABB2BF" },
CmpItemAbbrMatch = { fg = "#8BE9FD" }, CmpItemAbbrMatch = { fg = "#8BE9FD" },
htmlLink = { fg = "#BD93F9", underline = false }, htmlLink = { fg = "#BD93F9", underline = false },
Underlined = { fg = "#8BE9FD" }, Underlined = { fg = "#8BE9FD" },
NvimTreeSpecialFile = { fg = "#FF79C6" }, NvimTreeSpecialFile = { fg = "#FF79C6" },
SpellBad = { fg = "#FF6E6E" }, SpellBad = { fg = "#FF6E6E" },
illuminatedWord = { bg = "#3b4261" }, illuminatedWord = { bg = "#3b4261" },
illuminatedCurWord = { bg = "#3b4261" }, illuminatedCurWord = { bg = "#3b4261" },
IlluminatedWordText = { bg = "#3b4261" }, IlluminatedWordText = { bg = "#3b4261" },
IlluminatedWordRead = { bg = "#3b4261" }, IlluminatedWordRead = { bg = "#3b4261" },
IlluminatedWordWrite = { bg = "#3b4261" }, IlluminatedWordWrite = { bg = "#3b4261" },
DiffChange = { fg = colors.fg }, DiffChange = { fg = colors.fg },
StatusLine = { fg = colors.fg, bg = colors.bg }, StatusLine = { fg = colors.fg, bg = colors.bg },
StatusLineTerm = { fg = colors.fg, bg = colors.bg }, StatusLineTerm = { fg = colors.fg, bg = colors.bg },
BufferLineFill = { bg = colors.bg }, BufferLineFill = { bg = colors.bg },
Pmenu = { fg = colors.fg, bg = colors.bg }, Pmenu = { fg = colors.fg, bg = colors.bg },
LspInfoBorder = { fg = colors.fg }, LspInfoBorder = { fg = colors.fg },
LspReferenceText = { bg = "#3b4261" }, LspReferenceText = { bg = "#3b4261" },
LspReferenceRead = { bg = "#3b4261" }, LspReferenceRead = { bg = "#3b4261" },
LspReferenceWrite = { bg = "#3b4261" }, LspReferenceWrite = { bg = "#3b4261" },
WinBar = { bg = colors.bg }, WinBar = { bg = colors.bg },
WinBarNC = { fg = colors.fg, bg = colors.bg }, WinBarNC = { fg = colors.fg, bg = colors.bg },
}, MasonBackdrop = { link = "NormalFloat" },
transparent_bg = false, },
} transparent_bg = false,
end, }
config = function(_,opts) end,
require("dracula").setup(opts) config = function(_, opts)
local colorscheme = pcode.themes.dracula or "dracula" require("dracula").setup(opts)
vim.cmd("colorscheme " .. colorscheme) local colorscheme = pcode.themes.dracula or "dracula"
end, vim.cmd("colorscheme " .. colorscheme)
end,
} }

View file

@ -21,7 +21,9 @@ return {
hi(0, "WinBar", { bg = color.background }) hi(0, "WinBar", { bg = color.background })
hi(0, "WinBarNC", { bg = color.background }) hi(0, "WinBarNC", { bg = color.background })
hi(0, "NormalFloat", { bg = color.background }) hi(0, "NormalFloat", { bg = color.background })
hi(0, "TabLine", { bg = color.background })
hi(0, "NormalNC", { bg = color.background }) hi(0, "NormalNC", { bg = color.background })
hi(0, "MasonBackdrop", { link = "NormalFloat" })
hi(0, "@tag.delimiter.javascript", { fg = color.punctuation }) hi(0, "@tag.delimiter.javascript", { fg = color.punctuation })
hi(0, "@tag.delimiter.tsx", { fg = color.punctuation }) hi(0, "@tag.delimiter.tsx", { fg = color.punctuation })
-- git -- git

View file

@ -53,6 +53,7 @@ return {
specs = {}, specs = {},
groups = { groups = {
all = { all = {
MasonBackdrop = { link = "NormalFloat" },
illuminatedWord = { bg = "#3b4261" }, illuminatedWord = { bg = "#3b4261" },
illuminatedCurWord = { bg = "#3b4261" }, illuminatedCurWord = { bg = "#3b4261" },
IlluminatedWordText = { bg = "#3b4261" }, IlluminatedWordText = { bg = "#3b4261" },

View file

@ -18,6 +18,7 @@ return {
["FoldColumn"] = { bg = "NONE" }, ["FoldColumn"] = { bg = "NONE" },
["Folded"] = { bg = "NONE" }, ["Folded"] = { bg = "NONE" },
["SignColumn"] = { bg = "NONE" }, ["SignColumn"] = { bg = "NONE" },
["MasonBackdrop"] = { link = "NormalFloat" },
}, },
} }
end, end,

View file

@ -1,41 +1,42 @@
return { return {
"pojokcodeid/darcula-dark.nvim", "pojokcodeid/darcula-dark.nvim",
priority = 1000, priority = 1000,
lazy = false, lazy = false,
config = function() config = function()
require("darcula").setup({ require("darcula").setup({
colors = { colors = {
lavender = "#9876AA", lavender = "#9876AA",
statusline = "NONE", statusline = "NONE",
}, },
}) })
vim.api.nvim_create_autocmd("ColorScheme", { vim.api.nvim_create_autocmd("ColorScheme", {
pattern = "*", pattern = "*",
callback = function() callback = function()
local colors = require("darcula").colors() local colors = require("darcula").colors()
local hi = vim.api.nvim_set_hl local hi = vim.api.nvim_set_hl
hi(0, "@property.json", { fg = colors.lavender }) hi(0, "@property.json", { fg = colors.lavender })
hi(0, "@property.jsonc", { fg = colors.lavender }) hi(0, "@property.jsonc", { fg = colors.lavender })
hi(0, "LineNr", { ctermfg = 11, fg = colors._39 }) hi(0, "LineNr", { ctermfg = 11, fg = colors._39 })
-- hi(0, "@variable.member.sql", { fg = colors.olive_green }) -- hi(0, "@variable.member.sql", { fg = colors.olive_green })
-- telescope -- telescope
hi(0, "TelescopePromptBorder", { fg = colors.medium_gray }) hi(0, "TelescopePromptBorder", { fg = colors.medium_gray })
hi(0, "TelescopeResultsBorder", { fg = colors.medium_gray }) hi(0, "TelescopeResultsBorder", { fg = colors.medium_gray })
hi(0, "TelescopePreviewBorder", { fg = colors.medium_gray }) hi(0, "TelescopePreviewBorder", { fg = colors.medium_gray })
hi(0, "TelescopeSelection", { bg = colors.dark_charcoal_gray }) hi(0, "TelescopeSelection", { bg = colors.dark_charcoal_gray })
hi(0, "TelescopeMultiSelection", { bg = colors.dark_charcoal_gray }) hi(0, "TelescopeMultiSelection", { bg = colors.dark_charcoal_gray })
hi(0, "TelescopeNormal", { bg = colors.dark }) hi(0, "TelescopeNormal", { bg = colors.dark })
hi(0, "TelescopeMatching", { fg = colors.olive_green }) hi(0, "TelescopeMatching", { fg = colors.olive_green })
hi(0, "TelescopePromptPrefix", { fg = colors.red }) hi(0, "TelescopePromptPrefix", { fg = colors.red })
hi(0, "TelescopeResultsDiffDelete", { fg = colors.red }) hi(0, "TelescopeResultsDiffDelete", { fg = colors.red })
hi(0, "TelescopeResultsDiffChange", { fg = colors.bright_cyan }) hi(0, "TelescopeResultsDiffChange", { fg = colors.bright_cyan })
hi(0, "TelescopeResultsDiffAdd", { fg = colors.olive_green }) hi(0, "TelescopeResultsDiffAdd", { fg = colors.olive_green })
hi(0, "TelescopePromptNormal", { bg = colors.dark, fg = colors.grey }) hi(0, "TelescopePromptNormal", { bg = colors.dark, fg = colors.grey })
hi(0, "TelescopePromptPrefix", { bg = colors.dark, fg = colors.red }) hi(0, "TelescopePromptPrefix", { bg = colors.dark, fg = colors.red })
hi(0, "TelescopeResultsTitle", { bg = colors.olive_green, fg = colors.very_dark_gray }) hi(0, "TelescopeResultsTitle", { bg = colors.olive_green, fg = colors.very_dark_gray })
end, hi(0, "MasonBackdrop", { link = "NormalFloat" })
}) end,
local colorscheme = pcode.themes.jetbrains or "darcula-dark" })
vim.cmd("colorscheme " .. colorscheme) local colorscheme = pcode.themes.jetbrains or "darcula-dark"
end, vim.cmd("colorscheme " .. colorscheme)
end,
} }

View file

@ -1,124 +1,125 @@
return { return {
"olimorris/onedarkpro.nvim", "olimorris/onedarkpro.nvim",
priority = 1000, priority = 1000,
config = function() config = function()
local is_transparent = false local is_transparent = false
require("onedarkpro").setup({ require("onedarkpro").setup({
styles = { styles = {
types = "NONE", types = "NONE",
methods = "NONE", methods = "NONE",
numbers = "NONE", numbers = "NONE",
strings = "NONE", strings = "NONE",
comments = "italic", comments = "italic",
keywords = "bold,italic", keywords = "bold,italic",
constants = "NONE", constants = "NONE",
functions = "italic", functions = "italic",
operators = "NONE", operators = "NONE",
variables = "NONE", variables = "NONE",
parameters = "NONE", parameters = "NONE",
conditionals = "italic", conditionals = "italic",
virtual_text = "NONE", virtual_text = "NONE",
tags = "italic", tags = "italic",
}, },
colors = { colors = {
bg_statusline = "#282c34", bg_statusline = "#282c34",
onedark = { onedark = {
green = "#99c379", green = "#99c379",
gray = "#8094b4", gray = "#8094b4",
red = "#e06c75", red = "#e06c75",
purple = "#c678dd", purple = "#c678dd",
yellow = "#e5c07a", yellow = "#e5c07a",
blue = "#61afef", blue = "#61afef",
cyan = "#56b6c2", cyan = "#56b6c2",
indentline = "#3b4261", indentline = "#3b4261",
float_bg = "#282c34", float_bg = "#282c34",
}, },
onedark_dark = { onedark_dark = {
bg_statusline = "#000", bg_statusline = "#000",
}, },
}, },
options = { options = {
cursorline = true, cursorline = true,
transparency = is_transparent, transparency = is_transparent,
terminal_colors = true, terminal_colors = true,
}, },
highlights = { highlights = {
-- overide cursor line fill colors -- overide cursor line fill colors
LineNr = { fg = "#49505E" }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set. LineNr = { fg = "#49505E" }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set.
CursorLineNr = { fg = "${blue}" }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line. CursorLineNr = { fg = "${blue}" }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line.
CursorLine = { bg = "#333842" }, CursorLine = { bg = "#333842" },
Cursor = { fg = "${bg}", bg = "${fg}" }, -- character under the cursor Cursor = { fg = "${bg}", bg = "${fg}" }, -- character under the cursor
lCursor = { fg = "${bg}", bg = "${fg}" }, -- the character under the cursor when |language-mapping| is used (see 'guicursor') lCursor = { fg = "${bg}", bg = "${fg}" }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
CursorIM = { fg = "${bg}", bg = "${fg}" }, -- like Cursor, but used when in IME mode |CursorIM| CursorIM = { fg = "${bg}", bg = "${fg}" }, -- like Cursor, but used when in IME mode |CursorIM|
CursorColumn = { bg = "#333842" }, -- Screen-column at the cursor, when 'cursorcolumn' is set. CursorColumn = { bg = "#333842" }, -- Screen-column at the cursor, when 'cursorcolumn' is set.
-- overide nvimtree folder icon fill color -- overide nvimtree folder icon fill color
NvimTreeFolderIcon = { fg = "${gray}" }, NvimTreeFolderIcon = { fg = "${gray}" },
-- overide nvimtree text fill color folder opened -- overide nvimtree text fill color folder opened
NvimTreeOpenedFolderName = { fg = "${blue}" }, NvimTreeOpenedFolderName = { fg = "${blue}" },
-- overide nvimtree text fill color root folder -- overide nvimtree text fill color root folder
NvimTreeRootFolder = { fg = "${yellow}" }, NvimTreeRootFolder = { fg = "${yellow}" },
NvimTreeSpecialFile = { fg = "${orange}" }, NvimTreeSpecialFile = { fg = "${orange}" },
NvimTreeWinSeparator = { fg = "#202329" }, NvimTreeWinSeparator = { fg = "#202329" },
NvimTreeIndentMarker = { fg = "#3E4450" }, NvimTreeIndentMarker = { fg = "#3E4450" },
-- overide nvimtree cursorline -- overide nvimtree cursorline
NvimTreeCursorLine = { bg = "#333842" }, NvimTreeCursorLine = { bg = "#333842" },
-- overide indenline fill color -- overide indenline fill color
IblIndent = { fg = "#3E4450" }, IblIndent = { fg = "#3E4450" },
-- overide cmp cursorline fill color with #333842 -- overide cmp cursorline fill color with #333842
PmenuSel = { bg = "#333842" }, PmenuSel = { bg = "#333842" },
illuminatedWord = { bg = "#3b4261" }, illuminatedWord = { bg = "#3b4261" },
illuminatedCurWord = { bg = "#3b4261" }, illuminatedCurWord = { bg = "#3b4261" },
IlluminatedWordText = { bg = "#3b4261" }, IlluminatedWordText = { bg = "#3b4261" },
IlluminatedWordRead = { bg = "#3b4261" }, IlluminatedWordRead = { bg = "#3b4261" },
IlluminatedWordWrite = { bg = "#3b4261" }, IlluminatedWordWrite = { bg = "#3b4261" },
StatusLine = { fg = "#f8f8f2", bg = is_transparent and "NONE" or "${bg}" }, StatusLine = { fg = "#f8f8f2", bg = is_transparent and "NONE" or "${bg}" },
StatusLineTerm = { fg = "#f8f8f2", bg = "${bg}" }, StatusLineTerm = { fg = "#f8f8f2", bg = "${bg}" },
BufferLineFill = { bg = is_transparent and "NONE" or "${bg}" }, BufferLineFill = { bg = is_transparent and "NONE" or "${bg}" },
["@string.special.url.html"] = { fg = "${green}" }, ["@string.special.url.html"] = { fg = "${green}" },
["@lsp.type.parameter"] = { fg = "${gray}" }, ["@lsp.type.parameter"] = { fg = "${gray}" },
-- ["@text.uri.html"] = { fg = "${green}" }, -- ["@text.uri.html"] = { fg = "${green}" },
-- ["@tag.javascript"] = { fg = "${red}" }, -- ["@tag.javascript"] = { fg = "${red}" },
-- ["@tag.attribute"] = { fg = "${orange}", style = "italic" }, -- ["@tag.attribute"] = { fg = "${orange}", style = "italic" },
-- ["@constructor.javascript"] = { fg = "${red}" }, -- ["@constructor.javascript"] = { fg = "${red}" },
-- ["@variable"] = { fg = "${fg}", style = "NONE" }, -- various variable names -- ["@variable"] = { fg = "${fg}", style = "NONE" }, -- various variable names
-- ["@variable.builtin"] = { fg = "${red}", style = "NONE" }, -- ["@variable.builtin"] = { fg = "${red}", style = "NONE" },
-- ["@variable.member"] = "${cyan}", -- ["@variable.member"] = "${cyan}",
-- ["@variable.parameter"] = "${red}", -- ["@variable.parameter"] = "${red}",
-- ["@property"] = { fg = "${cyan}" }, -- similar to `@field` -- ["@property"] = { fg = "${cyan}" }, -- similar to `@field`
["@property.lua"] = { fg = "${red}", bg = "NONE" }, ["@property.lua"] = { fg = "${red}", bg = "NONE" },
["@lsp.type.property.lua"] = { fg = "${cyan}", bg = "NONE" }, ["@lsp.type.property.lua"] = { fg = "${cyan}", bg = "NONE" },
["@lsp.type.variable.lua"] = { fg = "${red}", bg = "NONE" }, ["@lsp.type.variable.lua"] = { fg = "${red}", bg = "NONE" },
NvimTreeGitDirty = { fg = "${yellow}" }, NvimTreeGitDirty = { fg = "${yellow}" },
Pmenu = { fg = "${fg}", bg = "${bg}" }, Pmenu = { fg = "${fg}", bg = "${bg}" },
PmenuThumb = { bg = "${gray}" }, -- Popup menu: Thumb of the scrollbar. PmenuThumb = { bg = "${gray}" }, -- Popup menu: Thumb of the scrollbar.
-- overide lualine fill color with bg color -- overide lualine fill color with bg color
LualineNormal = { bg = "${bg}" }, LualineNormal = { bg = "${bg}" },
-- overide lualine_c fill color with bg color -- overide lualine_c fill color with bg color
LualineC = { bg = "${bg}" }, LualineC = { bg = "${bg}" },
-- overide lualine_x fill color with bg color -- overide lualine_x fill color with bg color
LualineX = { bg = "${bg}" }, LualineX = { bg = "${bg}" },
-- overide which-key fill color with bg color -- overide which-key fill color with bg color
-- WhichKey = { bg = "${bg}" }, -- WhichKey = { bg = "${bg}" },
-- -- overide which-key fill color with bg color -- -- overide which-key fill color with bg color
-- WhichKeySeperator = { bg = "${bg}" }, -- WhichKeySeperator = { bg = "${bg}" },
-- -- overide which-key fill color with bg color -- -- overide which-key fill color with bg color
-- WhichKeyDesc = { fg = "${red}" }, -- WhichKeyDesc = { fg = "${red}" },
-- -- overide which-key fill color with bg color -- -- overide which-key fill color with bg color
-- WhichKeyFloat = { bg = "${bg}" }, -- WhichKeyFloat = { bg = "${bg}" },
WhichKeyFloat = { bg = is_transparent and "NONE" or "${bg}" }, WhichKeyFloat = { bg = is_transparent and "NONE" or "${bg}" },
-- -- overide which-key fill color with bg color -- -- overide which-key fill color with bg color
-- WhichKeyValue = { bg = "${bg}" }, -- WhichKeyValue = { bg = "${bg}" },
-- -- overide which-key fill color with bg color -- -- overide which-key fill color with bg color
-- WhichKeyBorder = { bg = "${bg}" }, -- WhichKeyBorder = { bg = "${bg}" },
LspInfoBorder = { fg = "${fg}" }, LspInfoBorder = { fg = "${fg}" },
NormalFloat = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" }, NormalFloat = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" },
Normal = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" }, Normal = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" },
NormalNC = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" }, NormalNC = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" },
FloatBorder = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" }, FloatBorder = { fg = "${fg}", bg = is_transparent and "NONE" or "${bg}" },
NonText = { bg = "NONE", fg = "#3E4450" }, NonText = { bg = "NONE", fg = "#3E4450" },
}, MasonBackdrop = { link = "NormalFloat" },
}) },
local colorscheme = pcode.themes.onedarkpro or "onedark" })
vim.cmd("colorscheme " .. colorscheme) local colorscheme = pcode.themes.onedarkpro or "onedark"
end, vim.cmd("colorscheme " .. colorscheme)
end,
} }

View file

@ -12,6 +12,7 @@ return {
-- custom hilights -- custom hilights
local hi = vim.api.nvim_set_hl local hi = vim.api.nvim_set_hl
hi(0, "FoldColumn", { bg = colors.bg2 }) hi(0, "FoldColumn", { bg = colors.bg2 })
hi(0, "MasonBackdrop", { link = "NormalFloat" })
end, end,
}) })
end, end,

View file

@ -71,6 +71,7 @@ return {
highlights["@tag.attribute"] = { fg = colors.green1, italic = true } highlights["@tag.attribute"] = { fg = colors.green1, italic = true }
-- highlights["@keyword.function"] = { fg = colors.blue, italic = true } -- highlights["@keyword.function"] = { fg = colors.blue, italic = true }
-- highlights["@function"] = { fg = colors.blue, italic = true } -- highlights["@function"] = { fg = colors.blue, italic = true }
highlights.MasonBackdrop = { link = "NormalFloat" }
end, end,
}) })
end, end,

View file

@ -3,12 +3,12 @@ local api = vim.api
-- General Settings -- General Settings
api.nvim_create_augroup("_general_settings", { clear = true }) api.nvim_create_augroup("_general_settings", { clear = true })
api.nvim_create_autocmd("TextYankPost", { -- api.nvim_create_autocmd("TextYankPost", {
group = "_general_settings", -- group = "_general_settings",
callback = function() -- callback = function()
require("vim.highlight").on_yank({ higroup = "Visual", timeout = 200 }) -- require("vim.highlight").on_yank({ higroup = "Visual", timeout = 200 })
end, -- end,
}) -- })
api.nvim_create_autocmd("FileType", { api.nvim_create_autocmd("FileType", {
group = "_general_settings", group = "_general_settings",
@ -124,3 +124,234 @@ vim.api.nvim_create_autocmd("ExitPre", {
-- vim.api.nvim_set_keymap("n", "<leader>rg", "<cmd>terminal<cr>gradle run<cr>", { noremap = true, silent = true }) -- vim.api.nvim_set_keymap("n", "<leader>rg", "<cmd>terminal<cr>gradle run<cr>", { noremap = true, silent = true })
-- end, -- end,
-- }) -- })
-- Extras
local function lsp_status()
local bufnr = vim.api.nvim_get_current_buf()
local clients = vim.lsp.get_clients and vim.lsp.get_clients({ bufnr = bufnr })
or vim.lsp.get_active_clients({ bufnr = bufnr })
if #clients == 0 then
print("󰅚 No LSP clients attached")
return
end
print("󰒋 LSP Status for buffer " .. bufnr .. ":")
print("─────────────────────────────────")
for i, client in ipairs(clients) do
print(string.format("󰌘 Client %d: %s (ID: %d)", i, client.name, client.id))
print(" Root: " .. (client.config.root_dir or "N/A"))
print(" Filetypes: " .. table.concat(client.config.filetypes or {}, ", "))
-- Check capabilities
local caps = client.server_capabilities
local features = {}
if caps.completionProvider then
table.insert(features, "completion")
end
if caps.hoverProvider then
table.insert(features, "hover")
end
if caps.definitionProvider then
table.insert(features, "definition")
end
if caps.referencesProvider then
table.insert(features, "references")
end
if caps.renameProvider then
table.insert(features, "rename")
end
if caps.codeActionProvider then
table.insert(features, "code_action")
end
if caps.documentFormattingProvider then
table.insert(features, "formatting")
end
print(" Features: " .. table.concat(features, ", "))
print("")
end
end
vim.api.nvim_create_user_command("LspStatus", lsp_status, { desc = "Show detailed LSP status" })
local function check_lsp_capabilities()
local bufnr = vim.api.nvim_get_current_buf()
local clients = vim.lsp.get_clients and vim.lsp.get_clients({ bufnr = bufnr })
or vim.lsp.get_active_clients({ bufnr = bufnr })
if #clients == 0 then
print("No LSP clients attached")
return
end
for _, client in ipairs(clients) do
print("Capabilities for " .. client.name .. ":")
local caps = client.server_capabilities
local capability_list = {
{ "Completion", caps.completionProvider },
{ "Hover", caps.hoverProvider },
{ "Signature Help", caps.signatureHelpProvider },
{ "Go to Definition", caps.definitionProvider },
{ "Go to Declaration", caps.declarationProvider },
{ "Go to Implementation", caps.implementationProvider },
{ "Go to Type Definition", caps.typeDefinitionProvider },
{ "Find References", caps.referencesProvider },
{ "Document Highlight", caps.documentHighlightProvider },
{ "Document Symbol", caps.documentSymbolProvider },
{ "Workspace Symbol", caps.workspaceSymbolProvider },
{ "Code Action", caps.codeActionProvider },
{ "Code Lens", caps.codeLensProvider },
{ "Document Formatting", caps.documentFormattingProvider },
{ "Document Range Formatting", caps.documentRangeFormattingProvider },
{ "Rename", caps.renameProvider },
{ "Folding Range", caps.foldingRangeProvider },
{ "Selection Range", caps.selectionRangeProvider },
}
for _, cap in ipairs(capability_list) do
local status = cap[2] and "" or ""
print(string.format(" %s %s", status, cap[1]))
end
print("")
end
end
vim.api.nvim_create_user_command("LspCapabilities", check_lsp_capabilities, { desc = "Show LSP capabilities" })
local function lsp_diagnostics_info()
local bufnr = vim.api.nvim_get_current_buf()
local diagnostics = vim.diagnostic.get(bufnr)
local counts = { ERROR = 0, WARN = 0, INFO = 0, HINT = 0 }
for _, diagnostic in ipairs(diagnostics) do
local severity = vim.diagnostic.severity[diagnostic.severity]
counts[severity] = counts[severity] + 1
end
print("󰒡 Diagnostics for current buffer:")
print(" Errors: " .. counts.ERROR)
print(" Warnings: " .. counts.WARN)
print(" Info: " .. counts.INFO)
print(" Hints: " .. counts.HINT)
print(" Total: " .. #diagnostics)
end
vim.api.nvim_create_user_command("LspDiagnostics", lsp_diagnostics_info, { desc = "Show LSP diagnostics count" })
local function lsp_info()
local bufnr = vim.api.nvim_get_current_buf()
local clients = vim.lsp.get_clients and vim.lsp.get_clients({ bufnr = bufnr })
or vim.lsp.get_active_clients({ bufnr = bufnr })
print("═══════════════════════════════════")
print(" LSP INFORMATION ")
print("═══════════════════════════════════")
print("")
-- Basic info
print("󰈙 Language client log: " .. vim.lsp.get_log_path())
print("󰈔 Detected filetype: " .. vim.bo.filetype)
print("󰈮 Buffer: " .. bufnr)
print("󰈔 Root directory: " .. (vim.fn.getcwd() or "N/A"))
print("")
if #clients == 0 then
print("󰅚 No LSP clients attached to buffer " .. bufnr)
print("")
print("Possible reasons:")
print(" • No language server installed for " .. vim.bo.filetype)
print(" • Language server not configured")
print(" • Not in a project root directory")
print(" • File type not recognized")
return
end
print("󰒋 LSP clients attached to buffer " .. bufnr .. ":")
print("─────────────────────────────────")
for i, client in ipairs(clients) do
print(string.format("󰌘 Client %d: %s", i, client.name))
print(" ID: " .. client.id)
print(" Root dir: " .. (client.config.root_dir or "Not set"))
print(" Command: " .. table.concat(client.config.cmd or {}, " "))
print(" Filetypes: " .. table.concat(client.config.filetypes or {}, ", "))
-- Server status
if client.is_stopped() then
print(" Status: 󰅚 Stopped")
else
print(" Status: 󰄬 Running")
end
-- Workspace folders
if client.workspace_folders and #client.workspace_folders > 0 then
print(" Workspace folders:")
for _, folder in ipairs(client.workspace_folders) do
print("" .. folder.name)
end
end
-- Attached buffers count
local attached_buffers = {}
for buf, _ in pairs(client.attached_buffers or {}) do
table.insert(attached_buffers, buf)
end
print(" Attached buffers: " .. #attached_buffers)
-- Key capabilities
local caps = client.server_capabilities
local key_features = {}
if caps.completionProvider then
table.insert(key_features, "completion")
end
if caps.hoverProvider then
table.insert(key_features, "hover")
end
if caps.definitionProvider then
table.insert(key_features, "definition")
end
if caps.documentFormattingProvider then
table.insert(key_features, "formatting")
end
if caps.codeActionProvider then
table.insert(key_features, "code_action")
end
if #key_features > 0 then
print(" Key features: " .. table.concat(key_features, ", "))
end
print("")
end
-- Diagnostics summary
local diagnostics = vim.diagnostic.get(bufnr)
if #diagnostics > 0 then
print("󰒡 Diagnostics Summary:")
local counts = { ERROR = 0, WARN = 0, INFO = 0, HINT = 0 }
for _, diagnostic in ipairs(diagnostics) do
local severity = vim.diagnostic.severity[diagnostic.severity]
counts[severity] = counts[severity] + 1
end
print(" 󰅚 Errors: " .. counts.ERROR)
print(" 󰀪 Warnings: " .. counts.WARN)
print(" 󰋽 Info: " .. counts.INFO)
print(" 󰌶 Hints: " .. counts.HINT)
print(" Total: " .. #diagnostics)
else
print("󰄬 No diagnostics")
end
print("")
print("Use :LspLog to view detailed logs")
print("Use :LspCapabilities for full capability list")
end
-- Create command
vim.api.nvim_create_user_command("LspInfo2", lsp_info, { desc = "Show comprehensive LSP information" })

View file

@ -47,7 +47,23 @@ return {
"williamboman/mason-lspconfig.nvim", "williamboman/mason-lspconfig.nvim",
opts = function(_, opts) opts = function(_, opts)
vim.list_extend(opts.skip_config, {}) vim.list_extend(opts.skip_config, {})
opts.virtual_text = true opts.virtual_text = false
vim.diagnostic.config({ virtual_lines = { current_line = true } })
-- sample custom diagnostic icon
vim.diagnostic.config({
underline = false,
virtual_text = false,
update_in_insert = false,
severity_sort = true,
signs = {
text = {
[vim.diagnostic.severity.ERROR] = "",
[vim.diagnostic.severity.WARN] = "",
[vim.diagnostic.severity.HINT] = "",
[vim.diagnostic.severity.INFO] = "",
},
},
})
end, end,
}, },
-- add whichkey mappings -- add whichkey mappings

View file

@ -4,8 +4,8 @@ pcode.lang = {
cpp = false, cpp = false,
sql = false, sql = false,
deno = false, deno = false,
golang = false, golang = true,
java = true, java = false,
java2 = false, java2 = false,
java3 = false, java3 = false,
java4 = false, java4 = false,
@ -47,6 +47,10 @@ pcode.extras = {
zenmode = true, zenmode = true,
lspsignatur = false, lspsignatur = false,
telescopetreesiterinfo = true, telescopetreesiterinfo = true,
fidget = false,
tinydignostic = false,
dressing = true,
telescopediff = true,
} }
-- activate config themes -- activate config themes
pcode.themes = { pcode.themes = {

3
lua/pcode/user/java.lua Normal file
View file

@ -0,0 +1,3 @@
require("auto-jdtls2.create_gradle_project")
require("auto-jdtls2.create_maven_project")
require("auto-jdtls2.create_springboot_project")

View file

@ -91,3 +91,80 @@ keymap("n", "<A-l>", "<cmd>terminal live-server<cr>", opts)
-- close current buffer -- close current buffer
keymap("n", "<S-t>", "<cmd>lua require('auto-bufferline.configs.utils').bufremove()<cr>", opts) keymap("n", "<S-t>", "<cmd>lua require('auto-bufferline.configs.utils').bufremove()<cr>", opts)
-- vim.keymap.set("n", "<leader>ti", function()
-- local api = vim.api
-- local parser_configs = require("nvim-treesitter.parsers").get_parser_configs()
-- local parsers = vim.tbl_keys(parser_configs)
-- table.sort(parsers)
--
-- local choices = {}
-- local lookup = {}
--
-- for _, parser in ipairs(parsers) do
-- local is_installed = #api.nvim_get_runtime_file("parser/" .. parser .. ".so", false) > 0
--
-- local label = (is_installed and "[✓] " or "[✗] ") .. parser
-- table.insert(choices, label)
-- lookup[label] = parser
-- end
--
-- vim.ui.select(choices, {
-- prompt = "Treesitter ([✓]= installed, [✗] = not installed)",
-- }, function(choice)
-- if choice then
-- local parser_name = lookup[choice]
-- if parser_name then
-- vim.cmd("TSInstall " .. parser_name)
-- end
-- end
-- end)
-- end, { desc = "Install Treesitter" })
--
-- vim.keymap.set("n", "<leader>tu", function()
-- local parsers = require("nvim-treesitter.info").installed_parsers()
-- table.sort(parsers)
-- local choices = {}
-- local lookup = {}
--
-- for _, parser in ipairs(parsers) do
-- local label = "[✓] " .. parser
-- table.insert(choices, label)
-- lookup[label] = parser
-- end
--
-- vim.ui.select(choices, {
-- prompt = "Uninstall Treesitter",
-- }, function(choice)
-- if choice then
-- local parser_name = lookup[choice]
-- if parser_name then
-- vim.cmd("TSUninstall " .. parser_name)
-- end
-- end
-- end)
-- end, { desc = "Uninstall Treesitter" })
vim.api.nvim_create_user_command("TSIsInstalled", function()
local parsers = require("nvim-treesitter.info").installed_parsers()
table.sort(parsers)
local choices = {}
local lookup = {}
for _, parser in ipairs(parsers) do
local label = "[✓] " .. parser
table.insert(choices, label)
lookup[label] = parser
end
vim.ui.select(choices, {
prompt = "Uninstall Treesitter",
}, function(choice)
if choice then
local parser_name = lookup[choice]
if parser_name then
vim.cmd("TSUninstall " .. parser_name)
end
end
end)
end, {})

View file

@ -61,7 +61,7 @@ vim.loader.enable()
-- Disable statusline in dashboard -- Disable statusline in dashboard
vim.api.nvim_create_autocmd("FileType", { vim.api.nvim_create_autocmd("FileType", {
pattern = { "dbout", "dbui", "http", "httpResult" }, pattern = { "dbout", "dbui", "http", "httpResult", "checkhealth", "qf", "help", "lazy" },
callback = function() callback = function()
local opt = vim.opt local opt = vim.opt
opt.number = false -- Print line number opt.number = false -- Print line number