Compare commits

..

180 Commits

Author SHA1 Message Date
David Ibia fa59b7988c feat(dap.lua): add virtual text setup for better debugging experience
feat(dap.lua): add support for process.env.PORT environment variable to be able to run app on a configurable port
feat(lsp-config.lua): add support for detecting python environment using DPE module
feat(lualine.lua): add support for noice statusline component
feat(mason.lua): update installed language servers list
feat(noice.lua): add configuration for noice plugin
feat(none-ls.lua): remove black and mypy formatters from null-ls setup

fix(nvim-cmp.lua): change completeopt value to "menu,menuone,preview,noinsert" and add autocomplete trigger event on text change
feat(nvim-cmp.lua): add border and winhighlight settings for documentation window to improve visual appearance
feat(nvim-cmp.lua): add 'nvim_lsp_signature_help' as a source for autocompletion
refactor(colorscheme.lua): refactor SetupWindowPreferences function to dynamically set blend values for highlight groups
feat(init.lua): add setting for 'completeopt' to "menuone"
feat(plugins/noice.lua): add configuration for 'noice.nvim' plugin with dependencies and event trigger
feat(plugins/nvim-treesitter.lua): update configuration to run TSUpdate command silently

feat(utils): add Lua utility functions to detect and manage Lua versions and paths
feat(utils): add Python utility functions to check and resolve Python environments
style(theme): update current theme to 'catppuccin' in Lua script
2024-09-19 14:35:11 +01:00
David Ibia 5f86592ed4 style(colorscheme.lua): add missing newline after SetupWindowPreferences function
feat(colorscheme.lua): add setting for NormalNC highlight group to maintain consistency
perf(colorscheme.lua): improve logging by using vim.notify instead of console.log
2024-07-30 23:50:07 +01:00
David Ibia 318c2a2421 refactor(nvim-treesitter.lua): improve code formatting and indentation for better readability and maintainability 2024-07-30 23:49:57 +01:00
David Ibia 7e033dc750 style(catppuccin.lua): update the percentage value for dim_inactive to 0.50 for better visual consistency 2024-07-30 23:49:49 +01:00
David Ibia da52a830f6 chore(trouble.lua): remove unused trouble.lua file from the project 2024-07-30 23:22:24 +01:00
David Ibia b235a80f10 feat(telescope.lua): add key mappings to use <C-t> to open trouble and send to qflist with <C-q> in insert and normal mode to improve usability and productivity 2024-07-30 23:22:19 +01:00
David Ibia 43c3a7ce37 feat(nvim-cmp.lua): add custom border function to define border characters for completion and documentation windows
feat(nvim-cmp.lua): configure window settings for completion and documentation windows to improve visual appearance and readability
2024-07-30 23:22:14 +01:00
David Ibia 5631e845d1 chore(init.lua): disable Neovim intro message to improve user experience 2024-07-30 23:22:04 +01:00
David Ibia a101cf5e0c feat(trouble.lua): add key mappings for Trouble plugin to provide quick access to various functionalities like toggling diagnostics, symbols, LSP, location list, and quickfix list 2024-07-30 23:21:58 +01:00
David Ibia 7ac3d90843 feat(telescope.lua): add new options to file_browser extension for better customization and display
feat(telescope.lua): load 'themes' extension in telescope for additional functionality
feat(telescope.lua): update key mappings for opening file browser to improve usability and clarity
2024-07-29 01:03:08 +01:00
David Ibia d74c40a9af style(nvim-cmp.lua): improve code formatting by aligning comments and values for better readability 2024-07-29 01:03:03 +01:00
David Ibia a8403da735 chore(lualine.lua): comment out lualine_c and lualine_z sections to temporarily remove tmux status components from lualine configuration 2024-07-29 01:02:55 +01:00
David Ibia 3be2e4f344 feat(conform.lua): add support for multiple formatters for different file types to improve code formatting consistency and flexibility 2024-07-29 01:02:50 +01:00
David Ibia 3f70665f56 feat(telescope.lua): add "telescope-themes" as a dependency to enhance the visual appearance of the telescope plugin 2024-07-29 01:02:41 +01:00
David Ibia 93d89bef5b feat(conform.lua): add conform plugin configuration to load on BufReadPre and BufNewFile events 2024-07-29 01:02:36 +01:00
David Ibia 38dfc79f02 style(tokyonight.lua): add missing comma after the priority field to maintain consistency in the configuration object 2024-07-29 01:02:30 +01:00
David Ibia c05651f3b2 style(lsp-config.lua): improve formatting for dependencies list for better readability and maintainability 2024-07-29 01:02:25 +01:00
David Ibia db3b05721a feat(catppuccin.lua): add catppuccin plugin configuration with priority set to 1000 2024-07-29 01:02:18 +01:00
David Ibia c4d1bc9809 chore(lua): remove unused files related to themes and plugins for cleanup and organization purposes 2024-07-29 01:02:11 +01:00
David Ibia c25f8963ba feat(catppuccin.lua): add new Lua file catppuccin.lua with configuration for catppuccino theme setup 2024-07-29 01:01:58 +01:00
David Ibia 424dcf0028 feat(colorscheme.lua): add colorscheme.lua file to define color schemes for different themes
feat(colorscheme.lua): add SetupWindowPreferences function to set window preferences for colorschemes
feat(colorscheme.lua): add SyncWezTerm function to sync colorschemes with WezTerm if available in the system
2024-07-29 01:01:34 +01:00
David Ibia 4b6c92e7ed feat(otter.lua): add configuration for otter.nvim plugin to support Python and Lua filetypes 2024-07-29 01:01:28 +01:00
David Ibia e633db4e7e style(init.lua): remove extra newline at the beginning of the file to improve code readability 2024-07-29 01:01:19 +01:00
David Ibia 2feb9797f7 fix(lazy.lua): fix syntax error in require statement for colorscheme module
feat(lazy.lua): add error handling when cloning lazy.nvim repository to provide feedback to user in case of failure
2024-07-29 01:01:12 +01:00
David Ibia e13ee7edbd fix(remap.lua): replace print statement with vim.notify to display error message with log level ERROR for unsupported filetypes 2024-07-29 01:01:06 +01:00
David Ibia c39c7a7556 feat(plugins/tmux-status.lua): add tmux-status.nvim plugin configuration
feat(current-theme.lua): set colorscheme to catppuccino-mocha using vim.cmd
2024-07-29 01:00:58 +01:00
David Ibia 162ce343bd feat: updated lock 2024-07-01 15:56:02 +01:00
David Ibia 750a2169b1 refactor(remap.lua): remove unused VIM Maximizer keymap and description to clean up code and improve readability 2024-07-01 15:54:27 +01:00
David Ibia 740dbe9f7d feat(telescope-file-browser.lua): add telescope-file-browser.lua configuration file to manage dependencies for file browsing functionality in Neovim using Telescope plugin. 2024-07-01 15:54:22 +01:00
David Ibia 30144c8a48 refactor(lualine.lua): remove IsMoltenActive function and related configuration as it is no longer needed in the lualine setup
chore(lualine.lua): clean up unnecessary code related to molten statusline configuration to improve code readability and maintainability
2024-07-01 15:54:14 +01:00
David Ibia 50dd3df42a refactor(nvim-tree.lua): update require path for nvim-tree to point to the correct location in the project structure 2024-07-01 15:54:09 +01:00
David Ibia 4027c62264 style(trouble.lua): improve keymap descriptions for better readability and clarity 2024-07-01 15:54:04 +01:00
David Ibia 939227fdc8 feat(telescope.lua): add file_browser extension with hijack_netrw option for improved file browsing experience
feat(telescope.lua): add key mappings for opening file browser, fuzzy finding files in cwd and recent files, and finding files in git
feat(telescope.lua): add key mapping for fuzzy finding string under cursor in cwd
2024-07-01 15:53:55 +01:00
David Ibia 42de4a6ad7 chore(molten.lua): remove unnecessary configuration for molten plugin
chore(quarto.lua): remove unnecessary configuration for quarto plugin
2024-07-01 15:53:26 +01:00
David Ibia 97c0e26c5b style(otter.lua): fix indentation and spacing for better code readability
feat(otter.lua): add file type (ft) configuration for Python and Lua files
2024-07-01 15:53:15 +01:00
David Ibia bd3f2df13a feat(nvim-tree.lua): add configuration for nvim-tree plugin with dependencies and custom setup function 2024-07-01 15:53:08 +01:00
David Ibia 91bab15767 chore(plugins): remove unused image, molten, and quarto plugins from the project 2024-07-01 15:52:56 +01:00
David Ibia a322834154 style(none-ls.lua): remove print statements for cleaner code and better readability 2024-06-21 12:54:43 +01:00
David Ibia 2e5c3a7f35 style(lsp-config.lua): improve code formatting for better readability
feat(lsp-config.lua): add configuration for astro and kotlin language servers to enhance language support
2024-06-21 12:54:20 +01:00
David Ibia b1737abd9d feat(mason.lua): add 'astro' to the list of installed language servers to support Astro language in Mason configuration 2024-06-21 12:51:57 +01:00
David Ibia 7c652b6995 chore(lazy-lock.json): update commit hashes for various plugins to latest versions 2024-06-21 12:51:51 +01:00
David Ibia a3f904b2da feat(none-ls.lua): add functions CheckPoetryVirtualEnv and ResolvePythonEnvironment to handle virtual environments more efficiently 2024-06-21 12:51:44 +01:00
David Ibia 647acfb687 chore(image.lua): add lazy loading for the image plugin to improve performance and add support for additional file types (png, jpg, jpeg, gif, webp, svg) 2024-06-14 02:26:06 +01:00
David Ibia 5060d0b816 feat(lualine.lua): add function IsMoltenActive to check if Molten plugin is active and display corresponding status line configuration 2024-06-14 02:25:56 +01:00
David Ibia 2b7ce8f520 feat(flutter-tools.lua): add configuration for flutter-tools statusline decorations
feat(lsp-config.lua): update key bindings for code actions and references, remove pycodestyle config
feat(lualine.lua): add functions to display Flutter Tools statusline and check if Flutter Tools is active
feat(mason.lua): add kotlin_language_server to the list of supported language servers
feat(molten.lua): improve configuration for Molten plugin based on file type
feat(none-ls.lua): improve configuration for null-ls sources, resolve virtual environment for mypy diagnostics

fix(telescope.lua): update trouble import path to sources instead of providers
feat(telescope.lua): add vimgrep_arguments to improve search functionality
feat(telescope.lua): add mappings for trouble.open in insert and normal mode
feat(telescope.lua): load extensions flutter and dap
feat(telescope.lua): define custom find_files function with specific find_command
feat(trouble.lua): update trouble import path to sources instead of providers
feat(trouble.lua): update mappings to use trouble_sources.open instead of trouble_telescope.open_with_trouble
feat(core/init.lua): add ignorecase and smartcase options for case-insensitive searching
feat(core/init.lua): add backspace option for more flexible backspacing behavior
feat(core/init.lua): set cursor color based on mode in InsertEnter and InsertLeave autocmds
feat(dap.lua): add nvim-nio dependency and load telescope-dap.nvim extension
feat(flutter-tools.lua): add flutter-tools.nvim plugin configuration
feat(molten.lua): add lazy loading and ft option for Python files
feat(none-ls.lua.disabled): add none-ls.nvim plugin configuration
feat(poet-v.lua): add lazy loading and ft option for Python files
feat(vim-tmux-navigator.lua): update cmd and keys for vim-tmux-navigator plugin

chore(remap.lua): reorganize keymap descriptions for better clarity and readability
feat(remap.lua): add key mappings for jumping up, down, to next, and to previous locations with center screen
feat(remap.lua): add key mappings for resizing windows right, left, up, and down by 10 lines
feat(safe-invoke.lua): add utility function SafeInvoke to safely invoke functions and handle errors
2024-06-14 02:03:40 +01:00
David Ibia a96a4f719e feat(nvim-cmp.lua): change mapping confirm behavior to select current suggestion by default 2024-03-17 15:03:17 +01:00
David Ibia 5a617aeaff style(treesj.lua): fix indentation and align key-value pairs for better readability
feat(treesj.lua): add max_join_length option to tsj.setup for configuring maximum join length
feat(treesj.lua): add silent and noremap options to opts variable for better key mapping control
2024-03-17 15:02:45 +01:00
David Ibia 41fb4776df chore(lazy-lock.json): update commit hashes for various plugins to their latest versions 2024-03-17 15:02:32 +01:00
David Ibia 36a4939eb2 chore(supertab.lua): remove supertab configuration files as they are no longer needed 2024-03-17 15:02:25 +01:00
David Ibia 0241ccc827 feat(none-ls.lua): add mypy diagnostic tool with extra_args to specify python executable path based on environment variables 2024-03-17 15:02:11 +01:00
David Ibia bacfe5981e style(mason.lua): remove unnecessary semicolon at the end of require statement
feat(mason.lua): replace eslint with biome in the list of installed LSP servers for mason configuration
2024-03-17 15:02:00 +01:00
David Ibia 5e7ffa698a refactor(lsp-config.lua): remove pyflakes from pylsp setup to improve performance and simplify configuration
feat(lsp-config.lua): add configuration for biome server to support additional filetypes and improve language server capabilities
2024-03-17 15:01:47 +01:00
David Ibia e86c79c0f4 style(incline.lua): fix indentation and formatting for better code readability
feat(incline.lua): add hide option to hide cursorline in the setup configuration
feat(incline.lua): improve path shortening logic for long lines in the render function
2024-03-13 13:35:48 +01:00
David Ibia a36964cd5c style(init.lua): improve formatting and indentation for better readability
feat(init.lua): add functionality to change cursor color based on different modes for better user experience
2024-03-13 03:54:08 +01:00
David Ibia bbda0a7757 style(init.lua): comment out unused vim.opt.guicursor setting for clarity
feat(init.lua): change statuscolumn and cursorline settings to use vim.opt for consistency
refactor(init.lua): remove redundant undodir and undofile settings as they are not needed
2024-03-13 01:57:55 +01:00
David Ibia 7ab0dd47a5 feat(undotree.lua): set undodir option to store undo files in ~/.vim/undodir
feat(undotree.lua): enable undofile option to persist undo history between sessions
2024-03-13 01:57:47 +01:00
David Ibia 2312facd84 fix(lazy-lock.json): update commit hashes for fzf and mason-lspconfig.nvim packages to match the latest versions
feat(lazy-lock.json): update commit hashes for nvim-lspconfig and nvim-treesitter packages to match the latest versions
fix(lazy-lock.json): update commit hash for tokyonight package to the latest version
2024-03-13 00:55:04 +01:00
David Ibia d01a343ff5 feat(init.lua): add statuscolumn setting to display current line, total lines, and column number in the status line 2024-03-13 00:54:55 +01:00
David Ibia b202796340 feat(jupytext.lua): add jupytext setup configuration for markdown style and output extension to .md for better compatibility with markdown files 2024-03-10 12:22:49 +01:00
David Ibia db5156be5a chore(lualine.lua): improve code formatting by aligning comments and adding whitespace for better readability
feat(lualine.lua): add support for molten statusline configuration to enhance statusline customization
2024-03-10 12:22:41 +01:00
David Ibia 730b62e1da feat(molten.lua): add autocmds to dynamically adjust configuration based on file type and Molten status
feat(molten.lua): add autocmd to export output chunks to Jupyter notebook on write
feat(molten.lua): add autocmds to import output chunks from Jupyter notebook based on kernel
feat(molten.lua): add autocmd to initialize Molten buffer and import output chunks
2024-03-10 12:22:33 +01:00
David Ibia b5d1df5dc5 style(nvim-cmp.lua): reformat code for better readability and consistency
feat(nvim-cmp.lua): add custom source "otter" for otter completion in autocompletion sources
2024-03-10 12:22:25 +01:00
David Ibia 3e9289046f feat(nvim-treesitter-context.lua): add treesitter-context plugin configuration to enhance code context visibility and navigation 2024-03-10 12:22:18 +01:00
David Ibia 99579eeab9 feat(nvim-treesitter.lua): add support for additional parsers (markdown_inline, markdown) to improve syntax highlighting capabilities
feat(nvim-treesitter.lua): enable textobjects for moving, selecting, and swapping code blocks to enhance code navigation and manipulation within the editor
2024-03-10 12:22:11 +01:00
David Ibia ef623f83ad feat(otter.lua): add support for embedding Python and Lua languages in Otter 2024-03-10 12:22:04 +01:00
David Ibia 77340c5dcf feat(quarto.lua): add Quarto setup configuration for language server protocol features, code runner settings, and keymap bindings to enhance Quarto functionality. 2024-03-10 12:21:56 +01:00
David Ibia 67e1efba83 feat(init.lua): add maplocalleader configuration to set a custom local leader key for vim commands 2024-03-10 12:21:35 +01:00
David Ibia c22561d18e feat(jupytext.lua): add jupytext plugin configuration to load jupytext.nvim and set lazy loading to false 2024-03-10 12:21:29 +01:00
David Ibia 347718979c feat(molten.lua): add molten-nvim plugin configuration to enhance Neovim functionality 2024-03-10 12:21:22 +01:00
David Ibia 7caf5d4241 feat(nvim-treesitter-context.lua): add nvim-treesitter-context plugin configuration to load custom settings for better context highlighting in Neovim 2024-03-10 12:21:15 +01:00
David Ibia 153a3f538e feat(otter.lua): add configuration for otter.nvim plugin to load custom settings after plugin initialization 2024-03-10 12:21:08 +01:00
David Ibia 8ab0ebd57e feat(quarto.lua): add quarto plugin configuration to support quarto-nvim and its dependencies for enhanced functionality 2024-03-10 12:21:01 +01:00
David Ibia 9f5022b61b feat(init.lua): add additional paths to package.path to include luarocks modules installed in user's home directory 2024-03-10 12:20:47 +01:00
David Ibia 7b78ace466 style(remap.lua): improve code readability by adding comments and whitespace
feat(remap.lua): add logic to only source specific file extensions to enhance security and prevent unintended sourcing of files
2024-03-10 12:20:39 +01:00
David Ibia f546a66847 chore(gitignore): update .gitignore to exclude .env file from being tracked 2024-03-10 12:20:19 +01:00
David Ibia 5979833c16 fix(lazy-lock.json): update commit hashes for various plugins to reflect the latest changes and improvements in the dependencies. 2024-03-10 12:20:09 +01:00
David Ibia 8f31e19160 feat(image.lua): add configuration for image.nvim plugin to support displaying images in the editor with customizable options 2024-03-10 12:19:57 +01:00
David Ibia 6ca986870d chore(lazy-lock.json): update commit hashes for LuaSnip, copilot.vim, fzf,
git-blame.nvim, lualine.nvim, nvim-lspconfig, nvim-silicon, nvim-tree.lua,
nvim-treesitter, nvim-web-devicons, pkl-neovim, tailwindcss-colors.nvim
and add support for nvim-highlight-colors
2024-03-05 12:07:41 +01:00
David Ibia e875cdcf4b docs(README.md): remove TailwindCSS Colors from list of installed plugins 2024-03-05 12:07:35 +01:00
David Ibia 4ddb4399ab feat(highlight-colors): add support for nvim-highlight-colors plugin to customize syntax highlighting colors in Neovim 2024-03-05 12:07:24 +01:00
David Ibia 193672949d refactor(lsp-config.lua): remove tailwindcss specific logic from lsp config file
feat(tailwindcss-colors.lua): delete tailwindcss-colors.lua file
feat(tailwindcss-colors.lua): delete tailwindcss-colors setup call
feat(tailwindcss-colors.lua): delete tailwindcss-colors plugin configuration file
2024-03-05 12:06:51 +01:00
David Ibia c0200d8a4d docs(README.md): add Fuzzy Finder section with fzf link for improved
navigation
docs(README.md): reorganize Fonts section into Themes and Plugins for better
clarity and add Tokyonight theme link
docs(README.md): update Plugins section with CheatSheet and Comment plugin
links for additional functionality
2024-03-03 16:14:56 +01:00
David Ibia d811b3e73f feat(init.lua): add support for absolute.helpers module to provide additional helper functions 2024-03-03 14:10:23 +01:00
David Ibia e625999f55 feat(init.lua): add require statement for open-project-folder module to enable its functionality 2024-03-03 14:10:16 +01:00
David Ibia 6bf7c84173 feat(open-project-folder.lua): add Lua script to open project root folder based on OS
feat(open-project-folder.lua): add key mapping to open project root folder in Neovim
2024-03-03 14:10:03 +01:00
David Ibia 282abdbd7e docs(README.md): add keybindings section with general keybindings table to provide
users with information on available keybindings for the application
2024-03-03 12:04:42 +01:00
David Ibia d83d223161 chore(gitignore): add /Screenshots/* to ignore all files in Screenshots directory 2024-03-03 12:03:49 +01:00
David Ibia db4b8ad12c refactor(gitignore.lua): replace GetProjectRoot function with require statement for
absolute.utils.get-git-root module to improve code organization and readability
feat(gitignore.lua): update keymap description to include GitIgnore prefix for
clarity and consistency with functionality provided by the keymap
2024-03-03 12:02:53 +01:00
David Ibia 6afb379fad feat(detect-os.lua): add script to detect the operating system and return
the corresponding value based on the environment variables and system
commands available
2024-03-03 12:02:46 +01:00
David Ibia 2bace8525a feat(get-git-root.lua): add Lua function to get the root directory of a Git project using 'git rev-parse --show-toplevel' command 2024-03-03 12:02:38 +01:00
David Ibia c8b30a453e refactor(nvim-silicon.lua): change variable names for better readability
feat(nvim-silicon.lua): add functionality to create a screenshots directory and
open it based on the operating system
feat(nvim-silicon.lua): add keymaps for creating a screenshot and opening the
screenshots directory
feat(nvim-silicon.lua): update silicon setup with font and output settings
2024-03-03 12:02:27 +01:00
David Ibia 3ff0245770 chore(gitignore): add .DS_Store file to gitignore to prevent it from being tracked 2024-02-29 21:42:58 +01:00
David Ibia e8e96fa782 fix(lazy-lock.json): update commit hashes for copilot.vim, fzf, gitignore.nvim,
incline.nvim, mini.nvim, none-ls.nvim, nvim-lspconfig, nvim-surround,
nvim-treesitter
feat(lazy-lock.json): add new plugins nvim-silicon, update their commit hashes
2024-02-29 21:35:41 +01:00
David Ibia 884fc44344 feat(nvim-silicon.lua): add support for generating code images using Silicon
feat(nvim-silicon.lua): create configuration to use Silicon for code image generation
2024-02-29 21:35:27 +01:00
David Ibia 696ba76d07 docs(README.md): reorganize and update dependencies, binaries, and plugins sections for
better readability and clarity
2024-02-29 21:35:01 +01:00
David Ibia de887bc275 chore(lazy-lock.json): update commit hash for copilot.vim to 8f24a74d5937c1fb28fbce5caf05ffc633093fc5
chore(lazy-lock.json): remove hologram.nvim entry from lazy-lock.json file
2024-02-26 21:38:05 +01:00
David Ibia 1c57efd8cb refactor(incline.lua): change window placement to right for better UI consistency
feat(incline.lua): add function shortenPath to truncate long file paths for display
2024-02-26 21:37:57 +01:00
David Ibia 260aff8ebf chore(hologram.lua): remove unused hologram.lua files from absolute directory 2024-02-26 21:36:50 +01:00
David Ibia 30c2b464e0 refactor(incline.lua): remove unused functions get_git_diff and get_diagnostic_label
feat(incline.lua): add display of relative path in the rendered output for better context
2024-02-26 15:33:42 +01:00
David Ibia 6fba1ca3f1 refactor(incline.lua): improve code formatting and indentation for better readability
feat(incline.lua): add support for displaying diagnostic signs and git diff
information in the incline plugin to enhance user experience
2024-02-26 14:57:09 +01:00
David Ibia e328a43453 chore(lazy-lock.json): add gitsigns.nvim plugin with specific branch and commit 2024-02-26 14:56:31 +01:00
David Ibia 69319e52c5 refactor(incline.lua): update incline setup to include window padding and margin
feat(incline.lua): add custom rendering function to display file icons, git diff
indicators, and diagnostic signs in incline plugin
2024-02-26 14:56:24 +01:00
David Ibia 49f2e99f83 feat(gitsigns): add gitsigns plugin to enhance git integration in Neovim
feat(gitsigns): configure gitsigns plugin to load setup in after directory for customization
2024-02-26 14:56:13 +01:00
David Ibia d463bfcde0 chore(lazy-lock.json): update commit hashes for various plugins
feat(lazy-lock.json): update copilot.vim, friendly-snippets, fzf, git-blame.nvim,
mason-lspconfig.nvim, mason.nvim, none-ls.nvim, nvim-lspconfig, nvim-tree.lua,
nvim-treesitter, nvim-web-devicons plugins with new commit hashes
2024-02-26 14:37:23 +01:00
David Ibia c4e74ff5e1 style(hologram.lua): fix indentation for consistency and readability
feat(hologram.lua): change image_pattern to start with a dot for file extensions
feat(hologram.lua): add support for handling image previews on buffer enter and leave events
2024-02-26 14:37:14 +01:00
David Ibia ba39d9bfe4 style(toggleterm.lua): fix indentation and alignment for better readability
feat(toggleterm.lua): add lazygit terminal setup with custom configurations
feat(toggleterm.lua): add keymap to toggle lazygit terminal with leader key
feat(toggleterm.lua): comment out keymap for opening a general terminal
2024-02-26 14:37:06 +01:00
David Ibia dcabac3a07 feat(incline.lua): add incline setup in incline.lua to configure incline plugin
feat(incline.lua): add incline plugin configuration in plugins/incline.lua to load incline setup on VeryLazy event
2024-02-26 14:36:51 +01:00
David Ibia dce8aaa3bc chore(bufferline.lua): remove bufferline configuration and key mappings for tab
management to simplify and streamline the setup of the bufferline plugin
chore(bufferline.lua): remove bufferline plugin configuration and dependencies
to declutter the plugin setup and improve maintainability
2024-02-26 14:36:29 +01:00
David Ibia d7f4bb752f chore(lazy-lock.json): update commit hashes for copilot.vim, friendly-snippets,
fzf, mason-lspconfig.nvim, none-ls.nvim, nvim-bqf, nvim-dap,
nvim-dap-python, nvim-dap-ui, nvim-lspconfig, nvim-tree.lua,
nvim-treesitter, nvim-web-devicons to latest versions
2024-02-22 12:27:10 +01:00
David Ibia 470940593f refactor(remap.lua): change keymap for regex replace to <leader>sr for better
clarity and add keymap for replacing selected text in visual mode with <leader>ss
2024-02-22 12:26:55 +01:00
David Ibia 50368bc5c7 fix(remap.lua): change keymap for selecting all text from <leader>a to <C-a> to
avoid conflicts with other keybindings and improve usability.
2024-02-18 02:48:58 +01:00
David Ibia b26965f4d2 feat(remap.lua): add keymap to show keymaps using Telescope plugin for better navigation and understanding of keybindings 2024-02-17 22:34:15 +01:00
David Ibia 7528b01bfa style(vim-tmux-navigator.lua): comment out unused key binding for TmuxNavigatePrevious command to improve code readability and maintainability 2024-02-16 23:03:01 +01:00
David Ibia 55edad9ed6 fix(toggleterm.lua): change key mapping for opening lazygit from "<leader>gl" to "<leader>gs" to avoid conflicts with other mappings
feat(toggleterm.lua): set toggleterm direction to "float" to make the terminal window float instead of splitting the current window
2024-02-16 22:59:57 +01:00
David Ibia bfcd015867 chore(vim-fugitive): remove vim-fugitive.lua files
The vim-fugitive.lua files were removed as they are no longer needed in the project.
2024-02-16 14:14:26 +01:00
David Ibia 15246a74ab feat(toggleterm.lua): add support for toggleterm plugin to open a terminal and lazygit
This commit adds support for the toggleterm plugin in Neovim. It introduces a new Lua file `toggleterm.lua` in the `absolute/after` directory, which configures the toggleterm plugin. It sets up key mappings to open a terminal and toggle the lazygit terminal.

The `toggleterm.lua` file imports the `toggleterm` and `Terminal` modules from the toggleterm plugin. It then sets up the toggleterm plugin using the `toggle_term.setup()` function.

The `lazygit` terminal is defined using the `Terminal:new()` function. It specifies the command to run (`lazygit`), the directory to run the command in (`git_dir`), and the floating window options. It also defines an `on_open` function to start insert mode and set a key mapping to close the terminal, and an `on_close` function to start insert mode.

The `_LAZYGIT_TOGGLE()` function is defined to toggle the `lazygit` terminal.

Key mappings are set using the `vim.api.nvim_set_keymap()` function. The `<leader>gl` mapping is set to call the `_LAZYGIT_TOGGLE()` function, and the `<C-`` mapping is set to open a terminal using the `ToggleTerm` command.

Additionally, a new Lua file `toggleterm.lua` is added in the `absolute/plugins` directory, which exports the toggleterm plugin configuration. It requires the `absolute.after.toggleterm` module to configure the toggleterm plugin.
2024-02-16 14:13:23 +01:00
David Ibia bbc43f98ee chore(lazy-lock.json): update commit hashes for fzf, nvim-lspconfig, nvim-tree.lua, nvim-treesitter, nvim-web-devicons, treesj, undotree, and vim-fugitive dependencies
The commit hashes for the following dependencies have been updated:
- fzf: updated from 90b8187 to a4f6c8f
- nvim-lspconfig: updated from 1bc8341 to 41f40dc
- nvim-tree.lua: updated from 8cbb1db to 4a87b8b
- nvim-treesitter: updated from cbf0dfd to b52b298
- nvim-web-devicons: updated from 313d9e7 to 7f30f2d
- treesj: updated from bc51763 to 60e2728
- undotree: updated from 7df3be7 to 9dbbf3b
- vim-fugitive: updated from fab00f7 to 8376227

These updates ensure that the latest versions of these dependencies are being used.
2024-02-11 21:30:39 +01:00
David Ibia 213a312bed feat(apple-pkl.lua): add plugin configuration for apple/pkl-neovim
This commit adds a new Lua file `apple-pkl.lua` to the `absolute/plugins` directory. The file contains the configuration for the plugin `apple/pkl-neovim`. The configuration includes the following:
- The plugin URL: `https://github.com/apple/pkl-neovim`
- The plugin should be loaded lazily
- The plugin should be triggered on the event "BufReadPre *.pkl"
- The plugin has a dependency on `nvim-treesitter/nvim-treesitter`
- The plugin build function installs the `pkl` language for Treesitter using the command `TSInstall! pkl`
2024-02-11 21:29:57 +01:00
David Ibia a0d0658a16 feat(hologram.lua): add support for hologram plugin to display and handle image previews in Neovim
This commit adds two new files: `hologram.lua` and `hologram.lua`.

The `hologram.lua` file contains the configuration for the `hologram.nvim` plugin. It is responsible for setting up the plugin and linking it to the `absolute.after.hologram` file.

The `hologram.lua` file contains the implementation for handling image previews using the `hologram` and `image` modules. It sets up autocmds to trigger the `handle_image_preview` function when entering or opening a buffer with an image file. The function creates a new image object and displays it for 5 seconds before deleting it. There is also a `handle_image_preview_close` function that is triggered when leaving or closing a buffer with an image file, but it is currently commented out.

These changes were made to enhance the functionality of Neovim by allowing users to preview images within the editor using the `hologram.nvim` plugin.
2024-02-08 22:51:47 +01:00
David Ibia bce7208644 refactor(dashboard.lua): remove unnecessary empty lines
refactor(dashboard.lua): update dashboard setup config to include the header option with the provided header array
2024-02-08 22:50:59 +01:00
David Ibia 0900427b05 fix(lsp-config.lua): fix typo in variable name 'bufnr' to 'opts.buffer' to enable completion triggered by <c-x><c-o>
refactor(lsp-config.lua): remove unnecessary 'enabled' property from 'pycodestyle' configuration
2024-02-08 22:50:45 +01:00
David Ibia 5d326673e0 feat(todo-comments.lua): add support for todo-comments plugin
This commit adds support for the todo-comments plugin. It includes the following changes:

- Added a new file `todo-comments.lua` in the `lua/absolute/after` directory.
- Imported the `todo-comments` module.
- Set up the `todo-comments` plugin with default options.
- Defined key mappings for jumping to previous and next todo comments.
- Defined key mappings for opening comments in Telescope and Trouble.
- Added a new file `todo-comments.lua` in the `lua/absolute/plugins` directory.
- Exported a table with the configuration for the `todo-comments` plugin, including its dependencies and a config function that requires the `absolute.after.todo-comments` module.
2024-02-08 22:50:11 +01:00
David Ibia 0dd38ef0ca chore(lazy-lock.json): update dependencies
- Update commit hashes for the following dependencies:
  - copilot.vim
  - dashboard-nvim
  - fzf
  - mason-lspconfig.nvim
  - none-ls.nvim
  - nvim-cmp
  - nvim-dap
  - nvim-dap-python
  - nvim-lspconfig
  - nvim-tree.lua
  - nvim-treesitter
  - nvim-web-devicons
  - rose-pine
  - tokyonight
  - treesj
  - undotree
  - vim-fugitive

- Add support for the following dependencies:
  - hologram.nvim
  - todo-comments.nvim

The commit hashes have been updated to the latest versions to ensure compatibility and take advantage of any bug fixes or new features. The new dependencies have been added to enhance the functionality of the project.
2024-02-08 22:49:10 +01:00
David Ibia d4a82e867f chore(lazy-lock.json): update dependencies
- Update `copilot.vim` to commit `22fd9542e3c47552abab5e685fefd760e4f405b2`
  - Reason: Update to the latest commit for bug fixes and new features.
- Update `dressing.nvim` to commit `6f212262061a2120e42da0d1e87326e8a41c0478`
  - Reason: Update to the latest commit for bug fixes and new features.
- Update `friendly-snippets` to commit `b8fae73a479ae0a1c54f5c98fa687ae8a0addc53`
  - Reason: Update to the latest commit for bug fixes and new features.
- Update `fzf` to commit `dd886d22f0b95700ece24954ac00f6e2628226f1`
  - Reason: Update to the latest commit for bug fixes and new features.
- Update `nightfly` to commit `56fe47bd16272d9644fd9946a2596fa2c3905c35`
  - Reason: Update to the latest commit for bug fixes and new features.
- Update `none-ls.nvim` to commit `912f81829e9ab4ee3d54c3ea5a304c264f0003bc`
  - Reason: Update to the latest commit for bug fixes and new features.
- Update `nvim-lspconfig` to commit `021906284dcfb938bc236f8295af2650c60cb807`
  - Reason: Update to the latest commit for bug fixes and new features.
- Update `nvim-tree.lua` to commit `f39f7b6fcd3865ac2146de4cb4045286308f2935`
  - Reason: Update to the latest commit for bug fixes and new features.
- Update `nvim-treesitter` to commit `e9602f41192ba51842b4be4d02c718a64cd57acf`
  - Reason: Update to the latest commit for bug fixes and new features.
- Update `nvim-web-devicons` to commit `aaec87dbdaa776bfa0a13c8694bec9bcb7454719`
2024-01-30 16:11:02 +01:00
David Ibia 850814d169 feat(comment.lua): add support for commenting functionality in the Absolute plugin
feat(comment.lua): configure Comment.nvim plugin to load the comment setup from absolute.after.comment.lua file
2024-01-30 16:10:38 +01:00
David Ibia 41e667d58a chore(lsp-config.lua): update configuration for pylsp and emmet_ls
feat(lsp-config.lua): enable rope_autoimport, flake8, pyflakes, and pycodestyle plugins for pylsp
refactor(lsp-config.lua): comment out jedi_language_server configuration
2024-01-30 16:06:14 +01:00
David Ibia 246291ed8c feat(remap.lua): add keymap for selecting all text with "<leader>a" shortcut
The change adds a new keymap in the remap.lua file to select all text in the editor when the "<leader>a" shortcut is pressed. This allows users to quickly select the entire document without manually scrolling or using other selection methods.
2024-01-30 16:05:54 +01:00
David Ibia 4bc3130791 chore(none-ls.lua): add black as a formatting source in null-ls setup to support formatting for Python files 2024-01-30 16:05:39 +01:00
David Ibia 8712e379c4 Updated dependencies 2024-01-25 14:56:06 +01:00
David Ibia be4db2a984 fix(remap.lua): update keymap command to toggle NvimTree instead of Maximizer
The keymap command for the leader key followed by backtick (`) has been updated to toggle the NvimTree instead of the Maximizer. This change improves the functionality of the keymap and aligns it with the desired behavior.
2024-01-25 14:55:45 +01:00
David Ibia 5cceac51e0 chore(remap.lua): update keymap description from "Toggle File Explorer" to "Show Cheatsheet" to accurately reflect the functionality
chore(remap.lua): update keymap command from "<cmd>NvimTreeToggle<CR>" to "<cmd>Cheatsheet<CR>" to match the updated functionality
chore(remap.lua): update description for moving selected line/block of text in visual mode up
2024-01-24 15:54:44 +01:00
David Ibia 707bc2a204 chore(nvim-tree.lua): reformat and organize the configuration options for nvim-tree plugin for better readability and maintainability 2024-01-24 15:54:34 +01:00
David Ibia 7d4ee66a33 feat(supertab.lua): add configuration for default completion type in SuperTab plugin
The configuration `vim.g.SuperTabContextDefaultCompletionType` is added to set the default completion type in the SuperTab plugin to `<c-n>`. This allows users to use the `<c-n>` key combination to trigger completion in the plugin.
2024-01-21 15:03:14 +01:00
David Ibia 8abbd568e5 chore(lsp-config.lua): update keybinding for signature help to use <leader>gh for better consistency
feat(lsp-config.lua): add support for Vue filetypes in emmet_ls configuration to enable emmet completion in Vue files
2024-01-21 15:03:01 +01:00
David Ibia ae7209b8d0 chore(none-ls.lua): update formatting sources in null-ls setup
The formatting sources in the null-ls setup have been updated. The `null_ls.builtins.formatting.black` and `null_ls.builtins.formatting.rustfmt` sources have been removed, and the `null_ls.builtins.formatting.autopep8` source has been added. This change was made to improve the formatting capabilities of the null-ls plugin.
2024-01-16 11:20:10 +01:00
David Ibia 197dbab5d2 chore(lazy-lock.json): update commit hashes for none-ls.nvim, nvim-treesitter, nvim-web-devicons, and rose-pine
The commit hashes for the following dependencies have been updated:
- none-ls.nvim: Updated from 7e146f3a188853843bb4ca1bff24c912bb9b7177 to cf81e765460f722a381e5f3f5e3cbdce88398517
- nvim-treesitter: Updated from fcf843bf14adaeee53aad1b28fabba1d3b62fc8d to 59d4c14a1a4262cf637ff2420032593afa062749
- nvim-web-devicons: Updated from 4f5e6414438c920743fc1bb92bee1047620d6321 to 140edfcf25093e8b321d13e154cbce89ee868ca0
- rose-pine: Updated from c01a4a61020ddcfd3448fbb9cf11309f336bfb7b to b00800948e35df1df02c80cdea07988c4325d3ac

These updates ensure that the project is using the latest versions of these dependencies.
2024-01-16 01:35:12 +01:00
David Ibia 2f81b9e3f7 chore(lsp-config.lua): refactor code formatting and improve readability
feat(lsp-config.lua): add support for tailwindcss lsp and attach tailwind_colors only when using tailwindcss lsp
feat(lsp-config.lua): add key mappings for various LSP functionalities like go to declaration, go to definitions, show documentation, show LSP implementation, get help, show LSP type definitions, smart rename, see available code actions, show LSP references, format file, and restart LSP
feat(lsp-config.lua): configure language servers for html, typescript, css, tailwindcss, svelte, emmet, python, jedi, docker, json, vue, rust, lua, css, htmx, docker file, docker compose, and eslint
2024-01-16 01:34:57 +01:00
David Ibia 8c04ed3ff7 feat(tailwindcss-colors.lua): add support for tailwindcss-colors plugin
The `tailwindcss-colors.lua` file was added to the `absolute/after` directory. This file imports the `tailwindcss-colors` module and sets it up.

The `tailwindcss-colors.lua` file was also added to the `absolute/plugins` directory. This file returns a table with the plugin configuration, including a `config` function that requires the `absolute.after.tailwindcss-colors` module.

These changes were made to add support for the `tailwindcss-colors` plugin in the Absolute Neovim configuration.
2024-01-15 02:12:59 +01:00
David Ibia e901890e97 feat(tailwind-sorter.lua): add tailwind-sorter plugin and configuration
The tailwind-sorter.lua file was added to the absolute/after directory. This file sets up the tailwind-sorter plugin with the following configuration:
- on_save_enabled is set to true, enabling the plugin to run on file save.
- on_save_pattern is set to a list of file patterns for which the plugin should run on save. The patterns include "*.html", "*.js", "*.jsx", "*.tsx", "*.twig", "*.hbs", "*.php", "*.heex", "*.astro", and "*.vue".

Additionally, the tailwind-sorter.lua file was added to the absolute/plugins directory. This file returns a table with the following properties:
- The first element is the plugin name "laytan/tailwind-sorter.nvim".
- The dependencies property specifies the required plugins "nvim-treesitter/nvim-treesitter" and "nvim-lua/plenary.nvim".
- The build property specifies the build command to be executed in the "formatter" directory. This command installs the necessary npm packages and builds the plugin.
- The config property is a function that requires the "absolute.after.tailwind-sorter" module, which contains the plugin configuration.

These changes were made to add the tailwind-sorter plugin to the project and configure it for use.
2024-01-15 02:12:46 +01:00
David Ibia 0499526c85 chore(lsp-config.lua): refactor and organize language server configurations for better readability and maintainability 2024-01-15 02:12:05 +01:00
David Ibia 57a1accde5 chore(lazy-lock.json): update dependencies for tailwind-sorter.nvim and tailwindcss-colors.nvim to latest commits on main branch 2024-01-15 02:11:51 +01:00
David Ibia 823b4f8900 chore(README.md): remove unnecessary section and update component description
feat(README.md): add TODO to list out plugins for better documentation
2024-01-15 02:11:38 +01:00
David Ibia 71a08f4097 chore(lazy-lock.json): update keyseer.nvim and mason-lspconfig.nvim dependencies
- Update keyseer.nvim to branch "main" and commit "6cb478f9b2be4af4680ceb0308a9b49cd6b6ea73"
- Update mason-lspconfig.nvim to branch "main" and commit "3ba1b92b771f33256b4969d696b82c8ae7075364"

These updates are necessary to ensure compatibility and take advantage of the latest features and bug fixes in the dependencies.
2024-01-15 01:49:17 +01:00
David Ibia 90154b6967 feat(keyseer): add keyseer plugin and configuration
Add keyseer plugin to the project by including the `jokajak/keyseer.nvim` package in the `lua/absolute/plugins/keyseer.lua` file. The plugin is configured to use the latest version available. The configuration file `lua/absolute/after/keyseer.lua` is also added, which sets up keyseer.
2024-01-15 01:49:02 +01:00
David Ibia 2342ae3f1b chore(remap.lua): remove unnecessary blank lines for better code readability
feat(remap.lua): add descriptions to keymap settings for better understanding and maintainability
fix(remap.lua): fix keymap setting for toggling TMUX Pane to use the correct leader key
2024-01-14 22:09:29 +01:00
David Ibia 0a16978543 refactor(lsp-config.lua): clean up code formatting and improve readability
feat(lsp-config.lua): add key mappings for LSP commands to improve productivity
feat(lsp-config.lua): configure additional language servers for HTML, Emmet, Pylsp, Jedi, Docker, JSON, Vue, and Rust
refactor(lsp-config.lua): remove unnecessary comments and blank lines
2024-01-14 22:09:19 +01:00
David Ibia dfbe7acbc4 chore(lazy-lock.json): update dressing.nvim and fzf dependencies
- Update dressing.nvim to commit b2c644abfaae7523bb393b0c452adf3ebdaf53dc
- Update fzf to commit 1a9ea6f738cfafab83a5e0e828e60f0bf68bffee

The dependencies dressing.nvim and fzf were updated to their latest commits to ensure compatibility and take advantage of any bug fixes or new features.
2024-01-14 22:09:09 +01:00
David Ibia 4f0f762caa feat(treesj.lua): add treesj.lua file to enable toggling of Treesitter Join functionality
The treesj.lua file is added to the project to enable the toggling of Treesitter Join functionality. The `tsj.setup` function is called to configure the plugin with the option `use_default_keymaps` set to `false`. This ensures that the default keymaps provided by the plugin are not used.

A keymap is set using `vim.keymap.set` to bind the `<leader>m` key combination in normal mode to the command `TSJToggle`. The `opts.desc` option is set to provide a description for the keymap.

This change allows users to toggle the Treesitter Join functionality using the `<leader>m` key combination in normal mode.
2024-01-14 04:01:44 +01:00
David Ibia adc0e7d95c feat(trouble.lua): add configuration for telescope plugin to integrate with trouble plugin
The `trouble.lua` file is added to configure the integration between the `telescope` plugin and the `trouble` plugin. This configuration sets up key mappings for opening trouble windows and quickfix lists. It also adds keybindings for toggling document diagnostics, workspace diagnostics, and the quickfix list using the leader key. This configuration enhances the functionality of the `telescope` plugin by integrating it with the `trouble` plugin.
2024-01-14 04:01:28 +01:00
David Ibia 4273043666 feat(fzf.lua): add fzf plugin configuration
The fzf.lua file is added to the absolute/plugins directory. It contains the configuration for the fzf plugin. The configuration includes the plugin name "junegunn/fzf" and the build command "./install --all". This configuration enables the fzf plugin to be used in the project.
2024-01-14 04:01:10 +01:00
David Ibia de2237fb2c feat(git-blame.lua): add git-blame plugin configuration
The git-blame.lua file is added with the following configuration:
- The plugin "f-person/git-blame.nvim" is included.
- The event "VeryLazy" is associated with the plugin.
2024-01-14 04:00:58 +01:00
David Ibia 286a2f7ebe feat(nvim-surround.lua): add configuration for nvim-surround plugin
The `nvim-surround.lua` file was added to the `lua/absolute/after` directory. This file contains the configuration for the `nvim-surround` plugin. The `surround.setup({})` function is called to initialize the plugin with an empty configuration object. This allows the plugin to be used with default settings.
2024-01-14 04:00:45 +01:00
David Ibia 4591540449 chore(nvim-bqf.lua): add new file nvim-bqf.lua to the absolute/after directory 2024-01-14 04:00:33 +01:00
David Ibia 7834005138 feat(none-ls.lua): add none-ls plugin configuration
The none-ls plugin is added to the list of plugins in the absolute configuration. The plugin is configured to load the "absolute.after.none-ls" module. This configuration allows for the integration of the none-ls plugin into the absolute plugin system.
2024-01-14 04:00:21 +01:00
David Ibia 7b75e5058b feat(nvim-bqf.lua): add nvim-bqf plugin configuration
Add configuration for the nvim-bqf plugin. This plugin provides enhanced quickfix and location list functionality for Neovim. The configuration includes specifying the plugin as a dependency and configuring it to load after other plugins. Additionally, it requires the nvim-treesitter and fzf plugins as dependencies. Finally, it loads a custom configuration file for the nvim-bqf plugin.
2024-01-14 04:00:07 +01:00
David Ibia cba7ae9980 feat(none-ls.lua): add configuration for null-ls plugin to enable formatting with stylua, prettierd, shfmt, black, and rustfmt
The changes were made to add configuration for the null-ls plugin in the none-ls.lua file. This configuration enables formatting with the following tools: stylua, prettierd, shfmt, black, and rustfmt. This allows for consistent and automated formatting of code in the Lua project.
2024-01-14 03:59:54 +01:00
David Ibia 7aa69de8a8 feat(nvim-surround.lua): add nvim-surround plugin
Add the nvim-surround plugin to the list of plugins used in the configuration. This plugin provides convenient mappings and commands for manipulating surrounding characters. The plugin is sourced from the "kylechui/nvim-surround" repository, using the latest version available. The plugin is configured to be loaded during the "VeryLazy" event, and the necessary configuration file is required to be loaded after the plugin is initialized.
2024-01-14 03:59:36 +01:00
David Ibia 2a47d47b8b feat(treesj.lua): add treesj plugin configuration
Add a new file `treesj.lua` to the `absolute/plugins` directory. The file contains the configuration for the `treesj` plugin. The plugin is sourced from the repository `Wansmer/treesj` and has a dependency on `nvim-treesitter/nvim-treesitter`. The configuration includes loading the `absolute.after.treesj` module.
2024-01-14 03:41:44 +01:00
David Ibia 80f7dcf1e9 feat(trouble.lua): add trouble.nvim plugin with configuration to the project
The trouble.nvim plugin is added to the project. It is a plugin that provides a better way to handle and navigate through the list of diagnostics and other code issues. The plugin is added as a dependency and requires the nvim-tree/nvim-web-devicons plugin to function properly. The configuration for the trouble.nvim plugin is added in the absolute.after.trouble.lua file.
2024-01-14 03:15:56 +01:00
David Ibia 75a58a2d0b feat(cheatsheet.lua): add cheatsheet plugin and its dependencies to the configuration
Add the cheatsheet plugin and its dependencies to the configuration file. This allows for the integration of the cheatsheet functionality into the application.
2024-01-14 03:13:00 +01:00
David Ibia 3277805e69 chore(telescope.lua): refactor key mappings and add support for trouble.nvim integration
The key mappings in the telescope.lua file have been refactored to use the new mappings syntax introduced in the latest version of Telescope. Additionally, support for the trouble.nvim plugin has been added by mapping the `<C-q>` key to the `trouble.open_with_trouble` function in both insert and normal mode. This allows for easier navigation and troubleshooting within Telescope.
2024-01-14 03:12:36 +01:00
David Ibia 1305a943a1 chore(bufferline.lua): update keybindings for closing and creating tabs to improve consistency and avoid conflicts 2024-01-14 03:12:25 +01:00
David Ibia 5c953ee2ac chore(lazy-lock.json): update dependencies
- Update LuaSnip to commit 82108e7e31cc6fc223cc5df5cae6d89f70bb199f
  - WHY: Updating to the latest commit of LuaSnip to get the latest features and bug fixes.

- Add cheatsheet.nvim with commit 9716f9aaa94dd1fd6ce59b5aae0e5f25e2a463ef
  - WHY: Adding cheatsheet.nvim as a new dependency to enhance the functionality of the application.

- Update copilot.vim to commit 1a55183ef9347d6f420406a3746474b6b9fb9ef5
  - WHY: Updating copilot.vim to the latest commit to benefit from the latest improvements and bug fixes.

- Update indent-blankline.nvim to commit 12e92044d313c54c438bd786d11684c88f6f78cd
  - WHY: Updating indent-blankline.nvim to the latest commit to get the latest enhancements and bug fixes.

- Update lspkind.nvim to commit 1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf
  - WHY: Updating lspkind.nvim to the latest commit to benefit from the latest features and improvements.

- Update mason-lspconfig.nvim to commit 0989bdf4fdf7b5aa4c74131d7ffccc3f399ac788
  - WHY: Updating mason-lspconfig.nvim to the latest commit to get the latest enhancements and bug fixes.

- Update mason.nvim to commit e110bc3be1a7309617cecd77bfe4bf86ba1b8134
  - WHY: Updating mason.nvim to the latest commit to benefit from the latest features and improvements.

- Update nightfly to commit 0c6e2e88bf15634af94a91fcc2e20e28a09dfecd
  - WHY: Updating nightfly to the latest commit to get the latest enhancements and bug fixes.

- Add none-ls.nvim with commit 7e146f3a188853843bb4ca1bff24c912bb9b7177
  - WHY: Adding none-l
2024-01-14 03:12:01 +01:00
David Ibia 979f229157 chore(init.lua): remove unnecessary lines and disable loading of Perl and Ruby providers
The lines `vim.g.loaded_perl_provider = 0` and `vim.g.loaded_ruby_provider = 0` were removed as they are unnecessary and not being used. This change improves the cleanliness of the code.

Additionally, the lines `-` were removed as they were empty and not serving any purpose.
2024-01-14 03:11:26 +01:00
David Ibia 3e331e02b6 refactor(colorscheme.lua): clean up indentation and remove commented out code
feat(colorscheme.lua): set default color to "rose-pine" if no color argument is provided
feat(colorscheme.lua): set theme to "tokyonight" by default
2024-01-13 23:55:39 +01:00
David Ibia 159b0e0b68 feat(jedi.lua): enable call signatures in Jedi completion popup and configure Jedi to use spaces instead of tabs for indentation
feat(supertab.lua): add Supertab plugin and configure it to be loaded after Absolute configuration
2024-01-05 23:38:40 +01:00
David Ibia 348d2904d6 refactor(init.lua): move require("absolute.remap") statement to the end of the file for better organization and readability 2024-01-05 16:20:13 +01:00
David Ibia 8a786d0420 feat(indent-blank-line): add support for indent-blank-line plugin
The `indent-blank-line` plugin is added to enhance the indentation of blank lines in the code. This improves code readability and makes it easier to navigate through the code. The plugin is configured to use the `ibl` module and is integrated into the existing `absolute.after` module.
2024-01-04 10:37:36 +01:00
David Ibia a57fdb2201 fix(init.lua): remove extra empty line
fix(absolute/after/colorscheme.lua): comment out unnecessary code for setting Normal and NormalFloat highlight groups
fix(absolute/after/jedi.lua): enable popup on dot for jedi
feat(absolute/after/tokyonight.lua): add support for tokyonight theme with specific configuration
feat(absolute/plugins/tokyonight.lua): add tokyonight plugin with configuration to load after plugin setup
fix(absolute/remap.lua): remove extra empty line
2024-01-04 10:14:27 +01:00
David Ibia 68aba67294 chore(jedi.lua): disable popup on dot in jedi plugin configuration
chore(jedi.lua): remove unused keybindings in jedi plugin configuration
chore(lsp-config.lua): remove pyright language server configuration
feat(lsp-config.lua): add jedi_completion plugin configuration to pylsp language server
feat(lsp-config.lua): add jedi_language_server configuration
chore(mason.lua): remove pyright language server from mason plugin configuration
feat(mason.lua): add jedi_language_server to mason plugin configuration
chore(poet-v.lua): add autocommand to activate virtualenv when entering a buffer with .venv or .py file
2024-01-03 19:05:06 +01:00
David Ibia aee290dcf9 feat: add support for Jedi-Vim plugin
- Add configuration for Jedi-Vim plugin in `lua/absolute/plugins/jedi.lua`
- Create `lua/absolute/after/jedi.lua` to set Jedi-Vim mappings and options

fix: fix lualine theme and add custom section

- Update `lua/absolute/after/lualine.lua` to fix the lualine theme configuration
- Add a custom section to display the Poetv status line in lualine

feat: add keybindings for Poetv plugin

- Add keybindings for activating and deactivating virtualenv in `lua/absolute/after/poet-v.lua`

fix: fix remap keybindings

- Update `lua/absolute/remap.lua` to fix and improve remap keybindings

feat: add alternate escape keybinding

- Add keybinding to use <C-c> as an alternate escape key in insert mode

fix: disable Q keybinding

- Disable the Q keybinding to prevent accidentally entering Ex mode

feat: add keybinding for formatting document with LSP Formatter

- Add keybinding to format the document using the LSP Formatter

feat: add keybindings for navigation quick fixes

- Add keybindings for navigating through quick fixes in the location list and the quickfix list

feat: add keybinding for regex replace

- Add keybinding to perform a regex replace in the entire file

feat: add keybinding for sourcing file

- Add keybinding to source the current file

feat: add keybinding for toggling TMUX pane

- Add keybinding to toggle the TMUX pane using MaximizerToggle command
2024-01-03 17:54:20 +01:00
David Ibia 6aa492bca8 chore(.gitignore): update .gitignore file to include Lua-related files and directories
feat(gitignore.lua): add Lua script to generate .gitignore file using gitignore.nvim plugin

chore(lsp-config.lua): comment out configuration for pyright server

feat(poet-v.lua): add poet-v plugin for managing Python virtual environments
2024-01-03 01:44:36 +01:00
David Ibia 68421c4615 feat(dap.lua): add configuration for dap and dap-ui plugins to enable debugging features in Neovim
feat(lsp-config.lua): configure python lsp using pylsp to provide language server capabilities for Python files
refactor(magma.lua): remove magma plugin configuration as it is no longer used
feat(mason.lua): add configuration for mason and mason-nvim-dap plugins to enable package management and debugging features in Neovim
refactor(init.lua): set maplocalleader to "\\" for easier keybindings
refactor(remap.lua): remove setting mapleader to " " as it is no longer needed, add keybinding for toggling file explorer using NvimTreeToggle command
2024-01-03 01:13:50 +01:00
David Ibia 589ab57da2 feat(dashboard.lua): add dashboard plugin and configuration for a customized dashboard
feat(magma.lua.disabled): add magma plugin and configuration, but disable it for now
2024-01-02 21:13:43 +01:00
David Ibia 6d7c3de411 fix(init.lua): enable line wrapping by setting vim.opt.wrap to true
fix(init.lua): remove color column limit by setting vim.opt.colorcolumn to an empty string
2024-01-02 14:51:03 +01:00
David Ibia 50b968ed9d feat(lsp-config.lua): add configuration for dockerls, jsonls, volar, rust_analyzer, cssls, htmx, docker_compose_language_service, and eslint servers to enhance language support in the editor
fix(remap.lua): add key mappings for moving selected lines or blocks of text up and down in visual mode, moving half page up and down, and adjusting cursor position after using 'n' and 'N' commands
2024-01-02 00:38:36 +01:00
David Ibia 923265371f chore(README.md): add important note about compatibility with Apple Silicon and removal of incompatible plugins
docs(README.md): explain the components of the project, including the package manager and the use of the after directory for plugin configuration
2024-01-01 21:44:47 +01:00
David Ibia 4e36594907 chore: add .env to .gitignore file to exclude it from version control
docs: add README.md file with an introduction, installation instructions, and personalization note for Absolute VIM Configuration
2024-01-01 21:38:22 +01:00
David Ibia e454b4a8b9 feat: updated plugins and editor configuration 2024-01-01 21:03:31 +01:00
David Ibia 2537f12e0c feat: added neovim configuration 2024-01-01 12:34:19 +01:00
69 changed files with 1014 additions and 1655 deletions
-3
View File
@@ -1,3 +0,0 @@
.git
!.env
!.opencommit
-2
View File
@@ -1,2 +0,0 @@
python 3.11.0
nodejs 20.0.0
+46 -3
View File
@@ -2,8 +2,9 @@
## Introduction
VIM Configurations for the modern developer. This configuration is designed to be efficient for my personal workflow. It is designed to be minimalistic and easy to use.
Here's the VIM configuration I'm going to be using for most of my professional work this year.
There may be changes as I discover new plugins. I intent to personalize this to my taste and
coding conventions. Feel free to try it out if you fancy 😄.
## Installation
@@ -34,5 +35,47 @@ git clone https://github.com/boxpositron/absolute-vim ~/.config/nvim --depth 1 &
- [Noto Emoji](https://fonts.google.com/noto/specimen/Noto+Emoji)
- [JetBrains Mono](https://fonts.google.com/specimen/JetBrains+Mono)
### Themes
Work in progress...
- [Tokyonight](https://github.com/folke/tokyonight.nvim)
### Plugins
- [CheatSheet](https://github.com/sudormrfbin/cheatsheet.nvim)
- [Comment](https://github.com/numToStr/Comment.nvim)
- DAP
- Dashboard
- GitIgnore
- GitSigns
- Harpoon
- Incline
- IndentBlankline
- Jedi
- KeySeer
- LuaLine
- Mason
- Mini
- NoneLS
- NvimBQF
- NvimCMP
- NvimSilicon
- NvimSurround
- NvimTree
- NvimTreesitter
- PoetV
- SuperTab
- TailwindSorter
- Telescope
- TodoComments
- ToggleTerm
- TreeSJ
- Trouble
- UndoTree
## Keybindings
### General
| Keybinding | Description |
|------------|-------------|
+62 -71
View File
@@ -1,78 +1,69 @@
{
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"LuaSnip": { "branch": "master", "commit": "831a130291eb6dae0dabd2748d0a99401a2eebc4" },
"catppuccin": { "branch": "main", "commit": "fa42eb5e26819ef58884257d5ae95dd0552b9a66" },
"LuaSnip": { "branch": "master", "commit": "e808bee352d1a6fcf902ca1a71cee76e60e24071" },
"catppuccin": { "branch": "main", "commit": "63685e1562ef53873c9764b483d7ac5c7a608922" },
"cheatsheet.nvim": { "branch": "master", "commit": "9716f9aaa94dd1fd6ce59b5aae0e5f25e2a463ef" },
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" },
"cmp-path": { "branch": "main", "commit": "e52e640b7befd8113b3350f46e8cfcfe98fcf730" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"codecompanion.nvim": { "branch": "main", "commit": "99448f47c3e23a06009ac176ba4c785e162d9c10" },
"conform.nvim": { "branch": "master", "commit": "973f3cb73887d510321653044791d7937c7ec0fa" },
"copilot.vim": { "branch": "release", "commit": "12995dffe10282b29b8335650bf3e7457f4870e7" },
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
"flutter-tools.nvim": { "branch": "main", "commit": "70430c32d176f4a15c6e2c80586cd2791e3a664e" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"fzf": { "branch": "master", "commit": "ead302981cc9d9219e58c1517921e9f2d68a6b6e" },
"gen.nvim": { "branch": "main", "commit": "e09a8dbffa139ad60d5b47998fcc8669ead1ebf4" },
"git-blame.nvim": { "branch": "master", "commit": "8503b199edf9a666fe7b1a989cf14e3c26b2eb03" },
"gitignore.nvim": { "branch": "master", "commit": "0344f643768c4d64af4add8c1bdddf6f7d4c9010" },
"gitsigns.nvim": { "branch": "main", "commit": "0cb5a7753d3c4b8e9cfdc9d88d9110cb8d4b1544" },
"image.nvim": { "branch": "master", "commit": "4c51d6202628b3b51e368152c053c3fb5c5f76f2" },
"incline.nvim": { "branch": "main", "commit": "0fd2d5a27504dba7fdc507a53275f22c081fe640" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"llm.nvim": { "branch": "main", "commit": "9832a149bdcf0709433ca9c2c3a1c87460e98d13" },
"lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" },
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
"markview.nvim": { "branch": "main", "commit": "ec33f2aa333ca1d76f51847922578434d7aeadf7" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "bb3a17efc797c34c054463174e5522442576ebd8" },
"mason-registry": { "branch": "main", "commit": "467ac84d138997773be67e2e5bd4020cb96a3697" },
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
"mcphub.nvim": { "branch": "main", "commit": "0d53a53f327b61c45691d6a60a16c20baf4590ea" },
"mini.diff": { "branch": "main", "commit": "63a7ce537ced356b8180892d9586826b0afb519c" },
"mini.nvim": { "branch": "main", "commit": "0420076298c4457f200c2de468f65d080597a347" },
"nightfly": { "branch": "master", "commit": "8c55003e89f321a48a8cd4bb426dd3e7c58f0646" },
"nvim-bqf": { "branch": "main", "commit": "dd17c73912487dccb372deff85d4262d2b89bc2b" },
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
"nvim-dap": { "branch": "master", "commit": "5dd4d50f2e6a2eaf9e57fad023d294ef371bda35" },
"nvim-dap-python": { "branch": "master", "commit": "261ce649d05bc455a29f9636dc03f8cdaa7e0e2c" },
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
"nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" },
"nvim-highlight-colors": { "branch": "main", "commit": "b42a5ccec7457b44e89f7ed3b3afb1b375bb2093" },
"nvim-lsp-file-operations": { "branch": "master", "commit": "9744b738183a5adca0f916527922078a965515ed" },
"nvim-lspconfig": { "branch": "master", "commit": "f47cd681d7cb6048876a2e908b6d8ba1e530d152" },
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"nvim-notify": { "branch": "master", "commit": "a22f5d7ac511c2df2fd3290a9f04c48d5a822e2e" },
"nvim-silicon": { "branch": "main", "commit": "7f66bda8f60c97a5bf4b37e5b8acb0e829ae3c32" },
"nvim-surround": { "branch": "main", "commit": "ae298105122c87bbe0a36b1ad20b06d417c0433e" },
"nvim-tmux-navigation": { "branch": "main", "commit": "4898c98702954439233fdaf764c39636681e2861" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-treesitter-context": { "branch": "master", "commit": "59f318a65d42a5c4037796886a8874fd57f774fc" },
"nvim-web-devicons": { "branch": "master", "commit": "0422a19d9aa3aad2c7e5cca167e5407b13407a9d" },
"nvim_lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
"pkl-neovim": { "branch": "main", "commit": "da9d189b4fad7e67e6b2a5456a3cbc4c9d32a17f" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"conform.nvim": { "branch": "master", "commit": "1a99fdc1d3aa9ccdf3021e67982a679a8c5c740c" },
"copilot.vim": { "branch": "release", "commit": "782461159655b259cff10ecff05efa761e3d4764" },
"dashboard-nvim": { "branch": "master", "commit": "fabf5feec96185817c732d47d363f34034212685" },
"dressing.nvim": { "branch": "master", "commit": "1b7921eecc65af1baf8ac1dc06f0794934cbcfb2" },
"flutter-tools.nvim": { "branch": "main", "commit": "ea1d398f543a54ba95357c3b8bb9d6f68eaec36c" },
"friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" },
"fzf": { "branch": "master", "commit": "855f90727af7827d9934b7fa00ea5ed51f5e4e81" },
"git-blame.nvim": { "branch": "master", "commit": "8c56e864d448e84e0162872c381dd2715824dce2" },
"gitignore.nvim": { "branch": "master", "commit": "2455191ec94da8ed222806a4fe3aa358eac1e558" },
"gitsigns.nvim": { "branch": "main", "commit": "1ef74b546732f185d0f806860fa5404df7614f28" },
"harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" },
"incline.nvim": { "branch": "main", "commit": "16fc9c073e3ea4175b66ad94375df6d73fc114c0" },
"indent-blankline.nvim": { "branch": "master", "commit": "18603eb949eba08300799f64027af11ef922283f" },
"keyseer.nvim": { "branch": "main", "commit": "6cb478f9b2be4af4680ceb0308a9b49cd6b6ea73" },
"lazy.nvim": { "branch": "main", "commit": "460e1cd8f24e364d54543a4b0e83f6f4ec1f65fb" },
"lspkind.nvim": { "branch": "master", "commit": "cff4ae321a91ee3473a92ea1a8c637e3a9510aec" },
"lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "25c11854aa25558ee6c03432edfa0df0217324be" },
"mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
"mini.nvim": { "branch": "main", "commit": "19e1584124cda35388d4fdb911eab7124014e541" },
"nightfly": { "branch": "master", "commit": "19efaf31cbe15a429cb3ca6ac9c9fce13275045b" },
"noice.nvim": { "branch": "main", "commit": "c1ba80ccf6b3bd8c7fc88fe2e61085131d44ad65" },
"nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" },
"nvim-bqf": { "branch": "main", "commit": "1b24dc6050c34e8cd377b6b4cd6abe40509e0187" },
"nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" },
"nvim-dap": { "branch": "master", "commit": "90616ae6ae40053103dc66872886fc26b94c70c8" },
"nvim-dap-python": { "branch": "master", "commit": "db72bf6ab9f75fe841e8e11e772ee7fef6f484f1" },
"nvim-dap-ui": { "branch": "master", "commit": "1c351e4e417d4691da12948b6ecf966936a56d28" },
"nvim-dap-virtual-text": { "branch": "master", "commit": "3497eb39bf413a57ab5b7e7e2e192683e462148c" },
"nvim-highlight-colors": { "branch": "main", "commit": "a411550ef85cae467b889ba7d1a96bd78332d90e" },
"nvim-lsp-file-operations": { "branch": "master", "commit": "92a673de7ecaa157dd230d0128def10beb56d103" },
"nvim-lspconfig": { "branch": "master", "commit": "aaec5d049af99e7b975bdf68aca582f1aa91b338" },
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
"nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" },
"nvim-silicon": { "branch": "main", "commit": "9fe6001dc8cad4d9c53bcfc8649e3dc76ffa169c" },
"nvim-surround": { "branch": "main", "commit": "ec2dc7671067e0086cdf29c2f5df2dd909d5f71f" },
"nvim-treesitter": { "branch": "master", "commit": "2b2ac302324f4cd2194c5dcaa59332b65e1c6403" },
"nvim-treesitter-context": { "branch": "master", "commit": "7f7eeaa99e5a9beab518f502292871ae5f20de6f" },
"nvim-web-devicons": { "branch": "master", "commit": "9154484705968658e9aab2b894d1b2a64bf9f83d" },
"nvim_lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
"pkl-neovim": { "branch": "main", "commit": "a0ae099c7eb926150ee0a126b1dd78086edbe3fc" },
"playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
"poet-v": { "branch": "master", "commit": "85a5dd44d89602cc3dccd2489924e9c7caab0044" },
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
"render-markdown.nvim": { "branch": "main", "commit": "7620d4e96eb5cf8d12e76c6fcaf1267628564ba9" },
"rose-pine": { "branch": "main", "commit": "72befaffeac38db7bdd49e0549eaa2c4806dd878" },
"smear-cursor.nvim": { "branch": "main", "commit": "4a0f7ac265b4ed1ce4d0af2afc13072763bfa691" },
"tailwind-sorter.nvim": { "branch": "main", "commit": "717e5c9761ed8334dadbb9357df7d826aae97b92" },
"telescope-dap.nvim": { "branch": "master", "commit": "783366bd6c1e7fa0a5c59c07db37f49c805a28df" },
"telescope-file-browser.nvim": { "branch": "master", "commit": "7bf55ed0ff5be182ad3301cff266581fc1c56cce" },
"telescope-live-grep-args.nvim": { "branch": "master", "commit": "8ad632f793fd437865f99af5684f78300dac93fb" },
"telescope-media-files.nvim": { "branch": "master", "commit": "0826c7a730bc4d36068f7c85cf4c5b3fd9fb570a" },
"telescope-themes": { "branch": "main", "commit": "65721365bd7a04a6c9679e76b6387b60320fd5f3" },
"rose-pine": { "branch": "main", "commit": "8b1fd252255a7f2c41b4192a787ab62660b29f72" },
"tailwind-sorter.nvim": { "branch": "main", "commit": "e03eea3909c28509375993fb77a42454ac8ecbb2" },
"telescope-dap.nvim": { "branch": "master", "commit": "8c88d9716c91eaef1cdea13cb9390d8ef447dbfe" },
"telescope-file-browser.nvim": { "branch": "master", "commit": "dd9de68c08b6d678198a99f5ea13e0384a1f04cf" },
"telescope-themes": { "branch": "main", "commit": "f005622f066cc0cdbaf9bb44c48edbec67985501" },
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
"tokyonight": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
"tree-sitter-ghostty": { "branch": "main", "commit": "1d5238fc0da5fd5a59130b95c3e1c4948a3f96c1" },
"treesj": { "branch": "main", "commit": "3b4a2bc42738a63de17e7485d4cc5e49970ddbcc" },
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
"undotree": { "branch": "master", "commit": "28f2f54a34baff90ea6f4a735ef1813ad875c743" },
"venv-selector.nvim": { "branch": "regexp", "commit": "c677caa1030808a9f90092e522de7cc20c1390dd" },
"vim-maximizer": { "branch": "master", "commit": "2e54952fe91e140a2e69f35f22131219fcd9c5f1" }
"todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
"toggleterm.nvim": { "branch": "main", "commit": "48be57eaba817f038d61bbf64d2c597f578c0827" },
"tokyonight": { "branch": "main", "commit": "817bb6ffff1b9ce72cdd45d9fcfa8c9cd1ad3839" },
"treesj": { "branch": "main", "commit": "0d81326b5afd36babe7dd480aabbb0b05f33e688" },
"trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" },
"undotree": { "branch": "master", "commit": "78b5241191852ffa9bb5da5ff2ee033160798c3b" },
"vim-maximizer": { "branch": "master", "commit": "2e54952fe91e140a2e69f35f22131219fcd9c5f1" },
"vim-tmux-navigator": { "branch": "master", "commit": "a9b52e7d36114d40350099f254b5f299a35df978" }
}
-6
View File
@@ -1,9 +1,3 @@
local cheatsheet = require("cheatsheet")
cheatsheet.setup({})
local opts = { noremap = true, silent = true }
opts.desc = "Show Cheatsheet"
vim.keymap.set("n", "<leader>\\", "<cmd>Cheatsheet<CR>", opts) -- toggle file explorer
-40
View File
@@ -1,40 +0,0 @@
local codecompanion = require("codecompanion")
codecompanion.setup({
strategies = {
chat = {
adapter = "openai",
},
},
extensions = {
mcphub = {
callback = "mcphub.extensions.codecompanion",
opts = {
make_vars = true,
make_slash_commands = true,
show_result_in_chat = true,
},
},
},
})
local opts = {
noremap = true,
silent = true,
}
vim.keymap.set("n", "<leader>ac", function()
vim.cmd("CodeCompanionChat")
end, opts)
vim.keymap.set({ "n", "v" }, "<leader>ai", function()
local input = vim.fn.input("[Code Companion Inline]: ")
local trimmed_input = vim.fn.trim(input)
if trimmed_input == "" then
vim.notify("No input provided for inline code companion", vim.log.levels.WARN)
return
end
vim.cmd("CodeCompanion" .. " " .. vim.fn.shellescape(trimmed_input))
end, opts)
+3 -22
View File
@@ -1,33 +1,14 @@
local conform = require("conform")
conform.setup({
format_on_save = function(bufnr)
local disable_filetypes = {}
return {
timeout_ms = 500,
lsp_fallback = not disable_filetypes[vim.bo[bufnr].filetype],
}
end,
formatters_by_ft = {
sh = { "shfmt" },
lua = { "stylua" },
-- Conform will run multiple formatters sequentially
python = {
-- To fix auto-fixable lint errors.
"ruff_fix",
-- To run the Ruff formatter.
"ruff_format",
-- To organize the imports.
"ruff_organize_imports",
},
python = { "isort", "black" },
-- Use a sub-list to run only the first available formatter
javascript = { "biome" },
astro = { "prettierd", "prettier", "biome" },
vue = { "prettierd", "prettier" },
proto = { "buf" },
yaml = { "prettierd", "prettier" },
astro = { { "prettierd", "prettier" } },
},
})
-- vim.o.formatexpr = "v:lua.require'conform'.formatexpr()"
vim.o.formatexpr = "v:lua.require'conform'.formatexpr()"
+11
View File
@@ -1,5 +1,6 @@
local dap = require("dap")
local dapui = require("dapui")
local dap_python = require("dap-python")
local virtual_text = require("nvim-dap-virtual-text")
-- Setup Virtual Text
@@ -10,7 +11,12 @@ virtual_text.setup({
enabled = true,
})
local mason_path = vim.fn.glob(vim.fn.stdpath("data") .. "/mason")
local debugpy_path = mason_path .. "/packages/debugpy/venv/bin/python"
dapui.setup()
dap_python.setup(debugpy_path)
dap.listeners.after.event_initialized["dapui_config"] = function()
dapui.open()
@@ -29,3 +35,8 @@ local opts = { noremap = true, silent = true }
opts.desc = "Toggle breakpoint"
vim.keymap.set("n", "<leader>db", "<cmd> DapToggleBreakpoint<CR>", opts)
opts.desc = "Debug Python Run"
vim.keymap.set("n", "<leader>dpr", function()
dap_python.test_method()
end, opts)
+25
View File
@@ -0,0 +1,25 @@
local dashboard = require("dashboard")
local header = {
[[' ⣇⣿⠘⣿⣿⣿⡿⡿⣟⣟⢟⢟⢝⠵⡝⣿⡿⢂⣼⣿⣷⣌⠩⡫⡻⣝⠹⢿⣿⣷ ']],
[[' ⡆⣿⣆⠱⣝⡵⣝⢅⠙⣿⢕⢕⢕⢕⢝⣥⢒⠅⣿⣿⣿⡿⣳⣌⠪⡪⣡⢑⢝⣇ ']],
[[' ⡆⣿⣿⣦⠹⣳⣳⣕⢅⠈⢗⢕⢕⢕⢕⢕⢈⢆⠟⠋⠉⠁⠉⠉⠁⠈⠼⢐⢕⢽ ']],
[[' ⡗⢰⣶⣶⣦⣝⢝⢕⢕⠅⡆⢕⢕⢕⢕⢕⣴⠏⣠⡶⠛⡉⡉⡛⢶⣦⡀⠐⣕⢕ ']],
[[' ⡝⡄⢻⢟⣿⣿⣷⣕⣕⣅⣿⣔⣕⣵⣵⣿⣿⢠⣿⢠⣮⡈⣌⠨⠅⠹⣷⡀⢱⢕ ']],
[[' ⡝⡵⠟⠈⢀⣀⣀⡀⠉⢿⣿⣿⣿⣿⣿⣿⣿⣼⣿⢈⡋⠴⢿⡟⣡⡇⣿⡇⡀⢕ ']],
[[' ⡝⠁⣠⣾⠟⡉⡉⡉⠻⣦⣻⣿⣿⣿⣿⣿⣿⣿⣿⣧⠸⣿⣦⣥⣿⡇⡿⣰⢗⢄ ']],
[[' ⠁⢰⣿⡏⣴⣌⠈⣌⠡⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣬⣉⣉⣁⣄⢖⢕⢕⢕ ']],
[[' ⡀⢻⣿⡇⢙⠁⠴⢿⡟⣡⡆⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣵⣵⣿ ']],
[[' ⡻⣄⣻⣿⣌⠘⢿⣷⣥⣿⠇⣿⣿⣿⣿⣿⣿⠛⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ']],
[[' ⣷⢄⠻⣿⣟⠿⠦⠍⠉⣡⣾⣿⣿⣿⣿⣿⣿⢸⣿⣦⠙⣿⣿⣿⣿⣿⣿⣿⣿⠟ ']],
[[' ⡕⡑⣑⣈⣻⢗⢟⢞⢝⣻⣿⣿⣿⣿⣿⣿⣿⠸⣿⠿⠃⣿⣿⣿⣿⣿⣿⡿⠁⣠ ']],
[[' ⡝⡵⡈⢟⢕⢕⢕⢕⣵⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⠿⠋⣀⣈⠙ ']],
[[' ⡝⡵⡕⡀⠑⠳⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⢉⡠⡲⡫⡪⡪⡣ ']],
}
dashboard.setup({
theme = "hyper",
config = {
header = header,
},
})
-36
View File
@@ -1,36 +0,0 @@
local gen = require("gen")
gen.setup({
-- Custom Parameters (with defaults)
model = "deepseek-r1:7b", -- The default model to use.
quit_map = "q", -- set keymap to close the response window
retry_map = "<c-r>", -- set keymap to re-send the current prompt
accept_map = "<c-cr>", -- set keymap to replace the previous selection with the last result
host = "localhost", -- The host running the Ollama service.
port = "11434", -- The port on which the Ollama service is listening.
display_mode = "split", -- The display mode. Can be "float" or "split" or "horizontal-split".
show_prompt = false, -- Shows the prompt submitted to Ollama. Can be true (3 lines) or "full".
show_model = false, -- Displays which model you are using at the beginning of your chat session.
no_auto_close = false, -- Never closes the window automatically.
file = false, -- Write the payload to a temporary file to keep the command short.
hidden = false, -- Hide the generation window (if true, will implicitly set `prompt.replace = true`), requires Neovim >= 0.10
init = function(options)
pcall(io.popen, "ollama serve > /dev/null 2>&1 &")
end,
-- Function to initialize Ollama
command = function(options)
local body = { model = options.model, stream = true }
return "curl --silent --no-buffer -X POST http://"
.. options.host
.. ":"
.. options.port
.. "/api/chat -d $body"
end,
-- The command for the Ollama service. You can use placeholders $prompt, $model and $body (shellescaped).
-- This can also be a command string.
-- The executed command must return a JSON object with { response, context }
-- (context property is optional).
-- list_models = '<omitted lua function>', -- Retrieves a list of model names
result_filetype = "markdown", -- Configure filetype of the result buffer
debug = false, -- Prints errors and the command which is run.
})
+10
View File
@@ -0,0 +1,10 @@
local mark = require("harpoon.mark")
local ui = require("harpoon.ui")
vim.keymap.set("n", "<leader>a", mark.add_file)
vim.keymap.set("n", "<C-e>", ui.toggle_quick_menu)
vim.keymap.set("n", "<C-1>", function() ui.nav_file(1) end)
vim.keymap.set("n", "<C-2>", function() ui.nav_file(2) end)
vim.keymap.set("n", "<C-3>", function() ui.nav_file(3) end)
vim.keymap.set("n", "<C-4>", function() ui.nav_file(4) end)
-37
View File
@@ -1,37 +0,0 @@
require("image").setup({
backend = "kitty",
processor = "magick_rock", -- or "magick_cli"
integrations = {
markdown = {
enabled = true,
clear_in_insert_mode = false,
download_remote_images = true,
only_render_image_at_cursor = false,
floating_windows = true, -- if true, images will be rendered in floating markdown windows
filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here
},
neorg = {
enabled = true,
filetypes = { "norg" },
},
typst = {
enabled = true,
filetypes = { "typst" },
},
html = {
enabled = false,
},
css = {
enabled = false,
},
},
max_width = nil,
max_height = nil,
max_width_window_percentage = nil,
max_height_window_percentage = 50,
window_overlap_clear_enabled = true, -- toggles images when windows are overlapped
window_overlap_clear_ft_ignore = { "cmp_menu", "cmp_docs", "snacks_notif", "scrollview", "scrollview_sign" },
editor_only_render_when_focused = true, -- auto show/hide images when the editor gains/looses focus
tmux_show_only_in_active_window = true, -- auto show/hide images in the correct Tmux window (needs visual-activity off)
hijack_file_patterns = { "*.png", "*.jpg", "*.jpeg", "*.gif", "*.webp", "*.avif", "*.svg" }, -- render image files as images when opened
})
+3
View File
@@ -0,0 +1,3 @@
local keyseer = require("keyseer")
keyseer.setup({})
-105
View File
@@ -1,105 +0,0 @@
local llm = require("llm")
local llmCompletion = require("llm.completion")
llm.setup({
api_token = nil, -- cf Install paragraph
model = "codellama:13b", -- the model ID, behavior depends on backend
backend = "ollama", -- backend ID, "huggingface" | "ollama" | "openai" | "tgi"
url = "http://localhost:11434", -- the http url of the backend
-- tokens_to_clear = { "<|endoftext|>" }, -- tokens to remove from the model's output
tokens_to_clear = { "<EOT>" },
-- parameters that are added to the request body, values are arbitrary, you can set any field:value pair here it will be passed as is to the backend
request_body = {
parameters = {
-- max_new_tokens = 60,
temperature = 0.2,
top_p = 0.95,
},
},
-- set this if the model supports fill in the middle
-- fim = {
-- enabled = false,
-- prefix = "<fim_prefix>",
-- middle = "<fim_middle>",
-- suffix = "<fim_suffix>",
-- },
fim = {
enabled = true,
prefix = "<PRE> ",
middle = " <MID>",
suffix = " <SUF>",
},
debounce_ms = 150,
accept_keymap = nil,
dismiss_keymap = nil,
tls_skip_verify_insecure = false,
-- llm-ls configuration, cf llm-ls section
lsp = {
bin_path = vim.api.nvim_call_function("stdpath", { "data" }) .. "/mason/bin/llm-ls",
cmd_env = { LLM_LOG_LEVEL = "DEBUG" },
},
-- tokenizer = nil, -- cf Tokenizer paragraph
tokenizer = {
repository = "codellama/CodeLlama-13b-hf",
},
context_window = 4096,
enable_suggestions_on_startup = false,
enable_suggestions_on_files = { "*.py", "*.js", "*.ts", "*.astro", "*.vue", "*.lua" },
disable_url_path_completion = false, -- cf Backend
})
vim.keymap.set("i", "<Tab>", function()
if llmCompletion.shown_suggestion ~= nil then
llmCompletion.complete()
else
local keys = vim.api.nvim_replace_termcodes("<Tab>", true, false, true)
vim.api.nvim_feedkeys(keys, "n", false)
end
end, { noremap = true, silent = true })
vim.keymap.set("n", "<Tab>", function()
if llmCompletion.shown_suggestion ~= nil then
llmCompletion.complete()
else
local keys = vim.api.nvim_replace_termcodes("<Tab>", true, false, true)
vim.api.nvim_feedkeys(keys, "n", false)
end
end, { noremap = true, silent = true })
-- Debounce helper
local debounce = function(func, timeout)
if type(func) ~= "function" then
error("Expected a function")
end
if type(timeout) ~= "number" or timeout <= 0 then
error("Expected a positive number for timeout")
end
local timer = vim.uv.new_timer()
return function(...)
local args = { ... }
timer:stop() -- Reset the timer
timer:start(
timeout,
0,
vim.schedule_wrap(function()
func(unpack(args))
end)
)
end
end
-- Define the function to be executed
local function on_text_change()
llmCompletion.lsp_suggest()
end
-- Debounce the function
local debounced_on_text_change = debounce(on_text_change, 3000)
-- Set up the autocommand
vim.api.nvim_create_autocmd({ "InsertCharPre" }, {
pattern = "*",
callback = debounced_on_text_change,
desc = "Run method after typing stops with debounce",
})
+40 -89
View File
@@ -1,13 +1,10 @@
-- Setup language servers.
local conform = require("conform")
local lspconfig = require("lspconfig")
local cmp_nvim_lsp = require("cmp_nvim_lsp")
local DPE = require("absolute.utils.detect-python-env")
local opts = { noremap = true, silent = true }
local global_node_modules = vim.fn.system("npm root -g")
-- client, buffer
local on_attach = function(client, bufnr)
opts.buffer = bufnr
@@ -48,24 +45,12 @@ local on_attach = function(client, bufnr)
vim.keymap.set("n", "<leader>cr", "<cmd>Telescope lsp_references<CR>", opts)
opts.desc = "Format File"
vim.keymap.set({ "n", "v" }, "<leader>f", function()
-- vim.lsp.buf.format({ async = true })
conform.format({
bufnr = opts.buffer,
async = true,
lsp_fallback = true,
})
vim.keymap.set("n", "<leader>f", function()
vim.lsp.buf.format({ async = true })
end, opts)
opts.desc = "Restart LSP"
vim.keymap.set("n", "<leader>rs", "<cmd>LspRestart<CR>", opts)
-- LSP Only Settings
-- Ruff & Pyright behaviour
if client.name == "ruff" then
-- Disable hover in favor of Pyright
client.server_capabilities.hoverProvider = false
end
end
local capabilities = cmp_nvim_lsp.default_capabilities()
@@ -93,16 +78,6 @@ lspconfig["html"].setup({
lspconfig["ts_ls"].setup({
capabilities = capabilities,
on_attach = on_attach,
init_options = {
plugins = {
{
name = "@vue/typescript-plugin",
location = global_node_modules .. "@vue/typescript-plugin",
languages = { "vue" },
},
},
},
filetypes = { "typescript", "javascript", "javascriptreact", "typescriptreact", "vue" },
})
-- configure css server
@@ -115,7 +90,6 @@ lspconfig["cssls"].setup({
lspconfig["tailwindcss"].setup({
capabilities = capabilities,
on_attach = on_attach,
filetypes = { "html", "svelte", "vue", "astro" },
})
-- configure svelte server
@@ -143,7 +117,6 @@ lspconfig["emmet_ls"].setup({
"html",
"typescriptreact",
"javascriptreact",
"astro",
"css",
"sass",
"scss",
@@ -153,28 +126,41 @@ lspconfig["emmet_ls"].setup({
},
})
-- configure ruff server
lspconfig["ruff"].setup({
capabilities = capabilities,
on_attach = on_attach,
})
-- configure pyright server
lspconfig["pyright"].setup({
capabilities = capabilities,
on_attach = on_attach,
-- configure python lsp
lspconfig["pylsp"].setup({
filetypes = { "python" },
settings = {
python = {
analysis = {
autoSearchPaths = true,
useLibraryCodeForTypes = true,
diagnosticMode = "workspace",
capabilities = capabilities,
on_attach = on_attach,
pylsp = {
pylsp = {
plugins = {
rope_autoimport = {
enabled = true,
completions = { enabled = true },
rename = { enabled = false },
},
black = { enabled = true },
autopep8 = { enabled = false },
yapf = { enabled = false },
flake8 = { enabled = true },
jedi_completion = {
enabled = true,
include_params = true,
fuzzy = true,
},
pylsp_mypy = {
enabled = true,
overrides = DPE.ResolvePythonEnvironment(),
report_progress = true,
live_mode = true,
},
-- import sorting
pyls_isort = { enabled = true },
},
},
},
})
-- configure docker server
lspconfig["dockerls"].setup({
capabilities = capabilities,
@@ -192,33 +178,6 @@ lspconfig["volar"].setup({
capabilities = capabilities,
on_attach = on_attach,
filetypes = { "vue" },
init_options = {
vue = {
hybridMode = false,
},
},
settings = {
typescript = {
inlayHints = {
enumMemberValues = {
enabled = true,
},
functionLikeReturnTypes = {
enabled = true,
},
propertyDeclarationTypes = {
enabled = true,
},
parameterTypes = {
enabled = true,
suppressWhenArgumentMatchesName = true,
},
variableTypes = {
enabled = true,
},
},
},
},
})
-- configure rust server
@@ -258,6 +217,12 @@ lspconfig["cssls"].setup({
on_attach = on_attach,
})
-- configure htmx server
lspconfig["htmx"].setup({
capabilities = capabilities,
on_attach = on_attach,
})
--configure docker file server
lspconfig["dockerls"].setup({
capabilities = capabilities,
@@ -280,11 +245,6 @@ lspconfig["eslint"].setup({
lspconfig["astro"].setup({
capabilities = capabilities,
on_attach = on_attach,
-- init_options = {
-- typescript = {
-- tsdk = ResolveTypescriptServer(),
-- },
-- },
})
-- configure kotlin server
@@ -293,21 +253,12 @@ lspconfig["kotlin_language_server"].setup({
on_attach = on_attach,
})
-- configure clang server
lspconfig["clangd"].setup({
cmd = { "clangd", "--compile-commands-dir=./", "--background-index=false" },
capabilities = capabilities,
on_attach = on_attach,
filetypes = { "c", "cpp", "objc", "objcpp" },
})
-- configure bufls server
lspconfig["buf_ls"].setup({
capabilities = capabilities,
on_attach = on_attach,
filetypes = { "proto" },
})
-- configure arduino language server
+26
View File
@@ -1,5 +1,6 @@
local lualine = require("lualine")
local lazy_status = require("lazy.status") -- to configure lazy pending updates count
local noice = require("noice")
local colors = {
blue = "#65D1FF",
@@ -45,6 +46,21 @@ local my_lualine_theme = {
},
}
function GetFlutterToolsStatusLine()
local application_version = vim.g.flutter_tools_decorations.app_version
local device = vim.g.flutter_tools_decorations.device
local result = "Flutter: " .. application_version .. " " .. device
end
function IsFlutterToolsActive()
if vim.g.flutter_tools_decorations ~= nil then
return true
else
return false
end
end
function GetPoetvStatusLine()
-- Get the poetv statusline
-- If poetv is not active, return empty string
@@ -79,6 +95,16 @@ lualine.setup({
},
sections = {
lualine_x = {
{
noice.api.statusline.mode.get,
cond = noice.api.statusline.mode.has,
color = { fg = "#ff9e64" },
},
{
GetFlutterToolsStatusLine,
cond = IsFlutterToolsActive,
color = { fg = "#ff9e64" },
},
{
GetPoetvStatusLine,
cond = IsPoetvActive,
+10 -4
View File
@@ -8,13 +8,19 @@ require("mason-lspconfig").setup({
"html",
"emmet_ls",
"lua_ls",
"arduino_language_server",
"clangd",
'arduino_language_server',
'clangd',
"tailwindcss",
"svelte",
"cssls",
"jedi_language_server",
"kotlin_language_server",
"kotlin_language_server"
},
automatic_enable = false,
automatic_installation = true,
})
require("mason-nvim-dap").setup({
ensure_installed = {
"debugpy", -- python
},
automatic_installation = true,
})
-6
View File
@@ -1,6 +0,0 @@
local diff = require("mini.diff")
diff.setup({
-- Disabled by default
source = diff.gen_source.none(),
})
+92
View File
@@ -0,0 +1,92 @@
local noice = require("noice")
local notify = require("notify")
notify.setup({
top_down = false,
animate = false,
stages = "static",
})
noice.setup({
routes = {
{
filter = {
event = "msg_show",
min_height = 20,
},
view = "cmdline_output",
},
{
filter = {
event = "lsp",
kind = "progress",
cond = function(message)
local client = vim.tbl_get(message.opts, "progress", "client")
return client == "lua_ls"
end
},
opts = { skip = true },
}
},
lsp = {
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
override = {
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
["vim.lsp.util.stylize_markdown"] = true,
["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp
},
},
cmdline = {
format = {
search_down = {
view = "cmdline",
},
search_up = {
view = "cmdline",
},
},
},
views = {
cmdline_popup = {
relative = "editor",
position = {
row = 5,
col = "50%",
},
size = {
width = 60,
height = "auto",
},
border = {
style = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" },
padding = { 0, 1 },
},
filter_options = {},
win_options = {
winhighlight = {
Normal = "Normal",
}
},
},
popupmenu = {
relative = "editor",
position = {
row = 8,
col = "50%",
},
size = {
width = 60,
height = 10,
},
border = {
style = "rounded",
padding = { 0, 1 },
},
win_options = {
winhighlight = { Normal = "Normal", FloatBorder = "DiagnosticInfo" },
},
},
},
})
+9
View File
@@ -0,0 +1,9 @@
local null_ls = require("null-ls")
null_ls.setup({
sources = {
null_ls.builtins.formatting.stylua,
null_ls.builtins.formatting.prettierd,
null_ls.builtins.formatting.shfmt,
},
})
-25
View File
@@ -1,25 +0,0 @@
local notify = require("notify")
notify.setup({
background_colour = "#000000",
fps = 15,
icons = {
DEBUG = "",
ERROR = "",
INFO = "",
TRACE = "✎",
WARN = "",
},
level = 2,
minimum_width = 50,
render = "default",
stages = "static",
time_formats = {
notification = "%T",
notification_history = "%FT%T",
},
timeout = 3000,
top_down = true,
})
vim.notify = notify
+9 -30
View File
@@ -1,5 +1,5 @@
local cmp = require("cmp")
local types = require("cmp.types")
local types = require('cmp.types')
local luasnip = require("luasnip")
local lspkind = require("lspkind")
@@ -8,18 +8,18 @@ require("luasnip.loaders.from_vscode").lazy_load()
cmp.setup({
completion = {
completeopt = "menu,menuone,preview,noinsert,noselect",
completeopt = "menu,menuone,preview,noinsert",
autocomplete = { types.cmp.TriggerEvent.TextChanged },
},
window = {
documentation = {
border = { "┌", "─", "┐", "│", "┘", "─", "└", "│" },
winhighlight = "Normal:CmpPmenu,FloatBorder:CmpPmenuBorder,CursorLine:PmenuSel,Search:None",
border = { '┌', '─', '┐', '│', '┘', '─', '└', '│' },
winhighlight = 'Normal:CmpPmenu,FloatBorder:CmpPmenuBorder,CursorLine:PmenuSel,Search:None',
},
completion = {
side_padding = 1,
border = { "┌", "─", "┐", "│", "┘", "─", "└", "│" },
winhighlight = "Normal:CmpPmenu,FloatBorder:CmpPmenuBorder,CursorLine:PmenuSel,Search:None",
border = { '┌', '─', '┐', '│', '┘', '─', '└', '│' },
winhighlight = 'Normal:CmpPmenu,FloatBorder:CmpPmenuBorder,CursorLine:PmenuSel,Search:None',
scrollbar = false,
},
},
@@ -29,19 +29,17 @@ cmp.setup({
end,
},
mapping = cmp.mapping.preset.insert({
["<C-.>"] = cmp.mapping.complete(), -- show completion suggestions
["C-<BS>"] = cmp.mapping.abort(), -- close completion menu
["<C-o>"] = cmp.mapping.complete(), -- show completion suggestions
["<C-e>"] = cmp.mapping.abort(), -- close completion menu
["<CR>"] = cmp.mapping.confirm({ select = true }), -- accept current selection
}),
-- sources for autocompletion
sources = cmp.config.sources({
{ name = "nvim_lsp" },
{ name = "codecompanion" }, -- code companion for AI-assisted coding
{ name = "luasnip" }, -- snippets
{ name = "buffer" }, -- text within current buffer
{ name = "path" }, -- file system paths,
{ name = "nvim_lsp_signature_help" },
{ name = 'nvim_lsp_signature_help' },
}),
-- configure lspkind for vs-code like pictograms in completion menu
formatting = {
@@ -51,22 +49,3 @@ cmp.setup({
}),
},
})
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline({ "/", "?" }, {
mapping = cmp.mapping.preset.cmdline(),
sources = {
{ name = "buffer" },
},
})
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
cmp.setup.cmdline(":", {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = "path" },
}, {
{ name = "cmdline" },
}),
matching = { disallow_symbol_nonprefix_matching = false },
})
@@ -2,7 +2,7 @@ local treesittercontext = require("treesitter-context")
treesittercontext.setup({
enable = true, -- Enable this plugin (Can be enabled/disabled later via commands)
max_lines = 5, -- How many lines the window should span. Values <= 0 mean no limit.
max_lines = 0, -- How many lines the window should span. Values <= 0 mean no limit.
min_window_height = 0, -- Minimum editor window height to enable context. Values <= 0 mean no limit.
line_numbers = true,
multiline_threshold = 20, -- Maximum number of lines to show for a single context
-2
View File
@@ -5,7 +5,6 @@ require("nvim-treesitter.configs").setup({
"javascript",
"typescript",
"python",
"proto",
"c",
"lua",
"vim",
@@ -31,7 +30,6 @@ require("nvim-treesitter.configs").setup({
-- Using this option may slow down your editor, and you may see some duplicate highlights.
-- Instead of true it can also be a list of languages
additional_vim_regex_highlighting = false,
disable = { "php" },
},
textobjects = {
move = {
+17 -15
View File
@@ -1,20 +1,22 @@
vim.g.poetv_executables = { "poetry" }
vim.g.poetv_auto_activate = 0
vim.g.poetv_executables = { "poetry", "pipenv" }
vim.g.poetv_auto_activate = 1
vim.g.poetv_set_environment = 1
vim.g.poetv_statusline_symbol = "🐍"
-- Keybindings
local opts = { noremap = true, silent = true }
-- Poetv: Activate Virtualenv
opts.desc = "Poetv: Activate virtualenv"
vim.keymap.set("n", "<leader>pva", "<cmd>PoetvActivate<CR>", opts)
-- Poetv: Deactivate Virtualenv
opts.desc = "Poetv: Deactivate virtualenv"
vim.keymap.set("n", "<leader>pvd", "<cmd>PoetvDeactivate<CR>", opts)
-- Setup Autocommands
vim.api.nvim_create_autocmd({ "BufEnter", "BufWinEnter" }, {
pattern = { "*/.venv/*", "*.py" },
callback = function()
-- check if poetv is activated
if vim.g.poetv_name ~= nil then
return
else
vim.cmd([[ PoetvActivate ]])
vim.cmd([[ LspRestart ]])
end
end,
})
vim.api.nvim_create_autocmd({ "BufEnter", "BufWinEnter" },
{ pattern = { "*/.venv/*", "*.py" }, callback = function() vim.cmd([[ PoetvActivate]]) end })
-10
View File
@@ -1,10 +0,0 @@
local smear_cursor = require("smear_cursor")
smear_cursor.setup({
stiffness = 0.5,
trailing_stiffness = 0.49,
never_draw_over_target = false,
smear_insert_mode = false,
smear_between_buffers = true,
cursor_color = "#7DF9FF",
})
+11 -117
View File
@@ -2,40 +2,10 @@ local telescope = require("telescope")
local builtin = require("telescope.builtin")
local actions = require("telescope.actions")
local trouble = require("trouble.sources.telescope")
local file_browser_actions = require("telescope._extensions.file_browser.actions")
local live_grep_shortcuts = require("telescope-live-grep-args.shortcuts")
local live_grep_actions = require("telescope-live-grep-args.actions")
local image_preview = require("absolute.utils.telescope_image_preview")
-- local function chafa_previewer_mime_hook(filepath, bufnr, opts)
-- local is_image = function(current_filepath)
-- local image_extensions = { "png", "jpg", "jpeg", "gif" } -- Supported image formats
-- local split_path = vim.split(current_filepath:lower(), ".", { plain = true })
-- local extension = split_path[#split_path]
-- return vim.tbl_contains(image_extensions, extension)
-- end
-- if is_image(filepath) then
-- local term = vim.api.nvim_open_term(bufnr, {})
-- local function send_output(_, data, _)
-- for _, d in ipairs(data) do
-- vim.api.nvim_chan_send(term, d .. "\r\n")
-- end
-- end
-- vim.fn.jobstart("chafa --passthrough tmux --exact-size off --format=symbols " .. filepath, {
-- on_stdout = send_output,
-- stdout_buffered = true,
-- })
-- else
-- require("telescope.previewers.utils").set_preview_message(bufnr, opts.winid, "Binary cannot be previewed")
-- end
-- end
telescope.setup({
defaults = {
file_previewer = image_preview.file_previewer,
buffer_previewer_maker = image_preview.buffer_previewer_maker,
vimgrep_arguments = {
"rg",
"--color=never",
@@ -44,9 +14,6 @@ telescope.setup({
"--line-number",
"--column",
"--smart-case",
"--follow",
"--hidden",
"--glob=!.git/",
},
mappings = {
i = {
@@ -60,77 +27,25 @@ telescope.setup({
},
},
extensions = {
media_files = {
filetypes = { "png", "webp", "jpg", "jpeg", "svg" },
find_cmd = "rg",
},
live_grep_args = {
auto_quoting = false,
mappings = {
i = {
["C-space"] = live_grep_actions.to_fuzzy_refine,
},
},
},
file_browser = {
hijack_netrw = true,
hide_parent_dir = true,
depth = 1,
respect_gitignore = vim.fn.executable("fd") == 1,
hidden = { file_browser = true, folder_browser = false },
auto_depth = false,
browse_files = require("telescope._extensions.file_browser.finders").browse_files,
respect_gitignore = false,
auto_depth = true,
display_stat = {
date = true,
size = true,
mode = false,
},
use_fd = true,
git_status = true,
mappings = {
["i"] = {
["<A-c>"] = file_browser_actions.create,
["<S-CR>"] = file_browser_actions.create_from_prompt,
["<A-r>"] = file_browser_actions.rename,
["<A-m>"] = file_browser_actions.move,
["<A-y>"] = file_browser_actions.copy,
["<A-d>"] = file_browser_actions.remove,
["<C-o>"] = file_browser_actions.open,
["<C-g>"] = file_browser_actions.goto_parent_dir,
["<C-e>"] = file_browser_actions.goto_home_dir,
["<C-w>"] = file_browser_actions.goto_cwd,
["<C-t>"] = file_browser_actions.change_cwd,
["<C-f>"] = file_browser_actions.toggle_browser,
["<C-h>"] = file_browser_actions.toggle_hidden,
["<C-s>"] = file_browser_actions.toggle_all,
["<bs>"] = file_browser_actions.backspace,
},
["n"] = {
["c"] = file_browser_actions.create,
["r"] = file_browser_actions.rename,
["m"] = file_browser_actions.move,
["y"] = file_browser_actions.copy,
["d"] = file_browser_actions.remove,
["o"] = file_browser_actions.open,
["g"] = file_browser_actions.goto_parent_dir,
["e"] = file_browser_actions.goto_home_dir,
["w"] = file_browser_actions.goto_cwd,
["t"] = file_browser_actions.change_cwd,
["f"] = file_browser_actions.toggle_browser,
["h"] = file_browser_actions.toggle_hidden,
["s"] = file_browser_actions.toggle_all,
},
},
},
},
})
telescope.load_extension("live_grep_args")
telescope.load_extension("file_browser")
telescope.load_extension("media_files")
telescope.load_extension("themes")
telescope.load_extension("flutter")
telescope.load_extension("dap")
telescope.load_extension("themes")
local find_files = function()
builtin.find_files({
@@ -138,45 +53,24 @@ local find_files = function()
})
end
local default_grep_files = function()
local input = vim.fn.input("[Global Search]: ")
local trimmed_input = vim.fn.trim(input)
-- Check the length of the input
local live_grep_args = telescope.extensions.live_grep_args
-- If the input is empty open the search prompt
if trimmed_input == "" then
live_grep_args.live_grep_args()
return
end
builtin.grep_string({ search = trimmed_input })
end
-- Function to get the visually selected text
-- Pipe the visual selection into Telescope find_files
local opts = { noremap = true, silent = true }
opts.desc = "Open file browser (cwd)"
vim.keymap.set("n", "<leader>pf", "<cmd>Telescope file_browser<CR>", opts)
vim.keymap.set("n", "<leader>af", "<cmd>Telescope file_browser<CR>", opts)
opts.desc = "Open file browser (current file)"
vim.keymap.set("n", "<leader>cf", "<cmd>Telescope file_browser path=%:p:h select_buffer=true<CR>", opts)
opts.desc = "Fuzzy find files (cwd)"
vim.keymap.set("n", "<C-p>", find_files, opts)
vim.keymap.set("n", "<leader>pf", find_files, opts)
opts.desc = "Fuzzy find recent files"
vim.keymap.set("n", "<leader>pr", builtin.oldfiles, opts)
opts.desc = "Fuzzy find files in git in cwd"
vim.keymap.set("n", "<leader>gf", builtin.git_files, opts)
vim.keymap.set("n", "<C-p>", builtin.git_files, opts)
opts.desc = "Fuzzy find files in cwd"
vim.keymap.set("n", "<leader>ps", default_grep_files, opts)
opts.desc = "Fuzzy find word under cursor in cwd"
vim.keymap.set("n", "<leader>sb", live_grep_shortcuts.grep_word_under_cursor, opts)
opts.desc = "Fuzzy find string under cursor in cwd"
vim.keymap.set("n", "<leader>ps", function()
builtin.grep_string({ search = vim.fn.input("Grep > ") })
end, opts)
-26
View File
@@ -29,34 +29,8 @@ function _LAZYGIT_TOGGLE()
lazygit:toggle()
end
-- Todo prompt model to run
local ollama = Terminal:new({
cmd = "ollama run llama3",
dir = "git_dir",
direction = "float",
float_opts = {
border = "double",
},
-- function to run on opening the terminal
on_open = function(term)
vim.cmd("startinsert!")
vim.api.nvim_buf_set_keymap(term.bufnr, "n", "q", "<cmd>close<CR>", opts)
end,
-- function to run on closing the terminal
on_close = function(term)
vim.cmd("startinsert!")
end,
})
function _OLLAMA_TOGGLE()
ollama:toggle()
end
opts.desc = "Open lazygit"
vim.api.nvim_set_keymap("n", "<leader>gs", "<cmd>lua _LAZYGIT_TOGGLE()<CR>", opts)
opts.desc = "Open ollama"
vim.api.nvim_set_keymap("n", "<leader>ol", "<cmd>lua _OLLAMA_TOGGLE()<CR>", opts)
-- opts.desc = "Open a terminal"
-- vim.api.nvim_set_keymap("n", "<C-`>", "<cmd>ToggleTerm<CR>", opts)
-14
View File
@@ -1,14 +0,0 @@
local venvSelector = require("venv-selector")
venvSelector.setup({
-- name = "venv",
auto_refresh = false,
})
local opts = { noremap = true, silent = true }
opts.desc = "Open VenvSelector to pick a venv."
vim.api.nvim_set_keymap("n", "<leader>vs", "<cmd>VenvSelect<cr>", opts)
opts.desc = "Retrieve the venv from a cache."
vim.api.nvim_set_keymap("n", "<leader>vc", "<cmd>VenvSelectCached<cr>", opts)
+6 -98
View File
@@ -7,19 +7,18 @@ local function SetupWindowPreferences()
end
-- Set the Normal group with dynamic blend
local normal_blend = get_blend_value("Normal", 0)
local normal_blend = get_blend_value("Normal", 50)
vim.api.nvim_set_hl(0, "Normal", { bg = "none", blend = normal_blend })
-- Set the NormalFloat group with dynamic blend
local normal_float_blend = get_blend_value("NormalFloat", 0)
local normal_float_blend = get_blend_value("NormalFloat", 50)
vim.api.nvim_set_hl(1, "NormalFloat", { bg = "none", blend = normal_float_blend })
-- Set the NormalNC group with dynamic blend
local normal_nc_blend = get_blend_value("NormalNC", 0)
local normal_nc_blend = get_blend_value("NormalNC", 50)
vim.api.nvim_set_hl(0, "NormalNC", { bg = "none", blend = normal_nc_blend })
end
local function SyncWezTerm()
local colorschemes = {
["tokyonight-day"] = "Tokyo Night Day",
["tokyonight-night"] = "Tokyo Night Night",
@@ -31,6 +30,7 @@ local function SyncWezTerm()
["catppuccin-mocha"] = "Catppuccin Mocha",
}
local function SyncWezTerm()
vim.api.nvim_create_autocmd("ColorScheme", {
group = vim.api.nvim_create_augroup("wezterm_colorscheme", { clear = true }),
callback = function(args)
@@ -41,19 +41,11 @@ local function SyncWezTerm()
return
end
-- if the file does not exists, exit early
local filename = vim.fn.expand("$XDG_CONFIG_HOME/wezterm/colorscheme")
if not vim.fn.filereadable(filename) then
return
end
-- Write the colorscheme to a file
local filename = vim.fn.expand("$XDG_CONFIG_HOME/wezterm/colorscheme")
assert(type(filename) == "string")
local file = io.open(filename, "w")
assert(file)
file:write(colorscheme)
file:close()
-- vim.notify("Setting WezTerm color scheme to " .. colorscheme, vim.log.levels.INFO)
@@ -61,93 +53,9 @@ local function SyncWezTerm()
})
end
local function SyncGhostyTerm()
vim.api.nvim_create_user_command("SendCmdShiftComma", function()
os.execute(
'osascript -e \'tell application "System Events" to keystroke "," using {command down, shift down}\''
)
end, {})
vim.api.nvim_create_autocmd("ColorScheme", {
group = vim.api.nvim_create_augroup("ghostty_colorscheme", { clear = true }),
callback = function(args)
SetupWindowPreferences()
local notifyOpts = { title = "Set Ghostty Theme" }
-- if the file does not exists, exit early
local filename = vim.fn.expand("$XDG_CONFIG_HOME/ghostty/colorscheme")
if not vim.fn.filereadable(filename) then
vim.notify("Ghostty colorscheme file not found", vim.log.levels.ERROR, notifyOpts)
return
end
-- lets check if ghostty supports the theme
-- ghostty +list-themes | xargs -I {} echo {} | grep <theme>
local cmd = "ghostty +list-themes | sed 's/ (resources)//g' | grep '^" .. args.match .. "$'"
local status = vim.fn.system(cmd)
local trimmed_output = vim.fn.substitute(status, "^s+|s+$", "", "g")
-- check if status is empty
if trimmed_output == "" then
vim.notify(args.match .. " is not supported by Ghostty", vim.log.levels.ERROR, notifyOpts)
return
end
assert(type(filename) == "string")
local file = io.open(filename, "w")
assert(file)
local theme_string = 'theme = "' .. args.match .. '"'
file:write(theme_string)
file:close()
vim.cmd([[SendCmdShiftComma]])
-- send a key combination to reload the theme
-- cmd + shift + ,
-- vim.api.nvim_feedkeys("<Cmd-Shift-,>", "n", true)
end,
})
end
local function is_wezterm()
return os.getenv("TERM_PROGRAM") == "WezTerm"
or os.getenv("WEZTERM_EXECUTABLE") ~= nil
or vim.fn.executable("wezterm") == 1
end
local function is_ghostty()
return os.getenv("TERM_PROGRAM") == "Ghostty"
or os.getenv("GHOSTTY_EXECUTABLE") ~= nil
or vim.fn.executable("ghostty") == 1
end
local function SetupAutocommands()
-- Setup Autocommand if wezterm is available in the system
if is_wezterm() then
if vim.fn.executable("wezterm") == 1 then
SyncWezTerm()
end
-- Setup Autommand if the terminal is Ghostty
if is_ghostty() then
SyncGhostyTerm()
end
end
SetupWindowPreferences()
SetupAutocommands()
local opts = { noremap = true, silent = true }
opts.desc = "Fuzzy find colorschemes"
vim.api.nvim_set_keymap("n", "<leader>cs", "<cmd>Telescope colorscheme<CR>", opts)
opts.desc = "Fuzzy find themes"
vim.api.nvim_set_keymap("n", "<leader>th", "<cmd>Telescope themes<CR>", opts)
+1 -4
View File
@@ -2,14 +2,11 @@ local lua_utils = require("absolute.utils.detect-lua")
package.path = package.path .. lua_utils.GetLatestLuaVersion()
local current_home = os.getenv("HOME")
vim.g.python3_host_prog = current_home .. "/.pyenv/versions/py3nvim/bin/python"
-- disable nvim intro
vim.opt.shortmess:append("sI")
vim.opt.shortmess:append "sI"
vim.opt.shell = "zsh"
vim.opt.nu = true
vim.opt.relativenumber = true
+2 -4
View File
@@ -1,8 +1,6 @@
local lua_utils = require("absolute.utils.detect-lua")
package.path = package.path .. lua_utils.GetLatestLuaVersion()
require("absolute.core")
require("absolute.lazy")
require("absolute.helpers")
require("absolute.remap")
-8
View File
@@ -1,8 +0,0 @@
return {
default_config = {
cmd = { "pb", "lsp" },
filetypes = { "proto" },
single_file_support = true,
root_dir = require("lspconfig.util").root_pattern(".git"),
},
}
-1
View File
@@ -1,6 +1,5 @@
return {
"https://github.com/apple/pkl-neovim",
enabled = false,
lazy = true,
event = "BufReadPre *.pkl",
dependencies = {
-11
View File
@@ -1,11 +0,0 @@
return {
"olimorris/codecompanion.nvim",
dependencies = {
"ravitemer/mcphub.nvim",
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
},
config = function()
require("absolute.after.codecompanion")
end,
}
+1 -1
View File
@@ -1,3 +1,3 @@
return {
"github/copilot.vim",
"github/copilot.vim"
}
+6
View File
@@ -5,6 +5,12 @@ return {
"rcarriga/nvim-dap-ui",
"nvim-neotest/nvim-nio",
"nvim-telescope/telescope-dap.nvim",
{
"mfussenegger/nvim-dap-python",
ft = "python",
dependencies = { "mfussenegger/nvim-dap" },
},
-- "Pocco81/DAPInstall.nvim"
},
config = function()
require("absolute.after.dap")
+11
View File
@@ -0,0 +1,11 @@
return {
"nvimdev/dashboard-nvim",
dependencies = {
"nvim-tree/nvim-web-devicons"
},
event = "VimEnter",
config = function()
require("absolute.after.dashboard")
end
}
+3 -4
View File
@@ -1,10 +1,9 @@
return {
"akinsho/flutter-tools.nvim",
enabled = false,
'akinsho/flutter-tools.nvim',
lazy = false,
dependencies = {
"nvim-lua/plenary.nvim",
"stevearc/dressing.nvim", -- optional for vim.ui.select
'nvim-lua/plenary.nvim',
'stevearc/dressing.nvim', -- optional for vim.ui.select
},
config = function()
require("absolute.after.flutter-tools")
-7
View File
@@ -1,7 +0,0 @@
return {
"David-Kunz/gen.nvim",
enabled = false,
config = function()
require("absolute.after.gen")
end,
}
+7
View File
@@ -0,0 +1,7 @@
return {
"theprimeagen/harpoon",
dependencies = { 'nvim-lua/plenary.nvim' },
config = function()
require("absolute.after.harpoon")
end
}
-6
View File
@@ -1,6 +0,0 @@
return {
"3rd/image.nvim",
config = function()
require("absolute.after.image")
end,
}
+7
View File
@@ -0,0 +1,7 @@
return {
"jokajak/keyseer.nvim",
version = "*",
config = function()
require("absolute.after.keyseer")
end,
}
-7
View File
@@ -1,7 +0,0 @@
return {
"huggingface/llm.nvim",
enabled = false,
config = function()
require("absolute.after.llm")
end,
}
-11
View File
@@ -1,11 +0,0 @@
return {
"OXY2DEV/markview.nvim",
lazy = false,
opts = {
preview = {
filetypes = { "markdown", "codecompanion" },
ignore_buftypes = {},
},
experimental = { check_rtp_message = false },
},
}
+11 -5
View File
@@ -1,11 +1,17 @@
return {
"mason-org/mason.nvim",
'williamboman/mason.nvim',
dependencies = {
"mason-org/mason-registry",
"mason-org/mason-lspconfig.nvim",
"neovim/nvim-lspconfig",
'williamboman/mason-lspconfig.nvim',
{
"jay-babu/mason-nvim-dap.nvim",
dependencies = {
"mfussenegger/nvim-dap",
}
}
},
config = function()
require("absolute.after.mason")
end,
end
}
-6
View File
@@ -1,6 +0,0 @@
return {
"echasnovski/mini.diff",
config = function()
require("absolute.after.mini-diff")
end,
}
+1 -2
View File
@@ -1,8 +1,7 @@
return {
"echasnovski/mini.nvim",
enabled = false,
version = "*", -- Stable Version
config = function()
require("absolute.after.mini")
end,
end
}
+15
View File
@@ -0,0 +1,15 @@
return {
"folke/noice.nvim",
event = "VeryLazy",
dependencies = {
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
"MunifTanjim/nui.nvim",
-- OPTIONAL:
-- `nvim-notify` is only needed, if you want to use the notification view.
-- If not available, we use `mini` as the fallback
"rcarriga/nvim-notify",
},
config = function()
require("absolute.after.noice")
end,
}
@@ -0,0 +1,7 @@
return {
"nvimtools/none-ls.nvim",
config = function()
require("absolute.after.none-ls")
end
}
-8
View File
@@ -1,8 +0,0 @@
return {
"rcarriga/nvim-notify",
lazy = false,
priority = 1000,
config = function()
require("absolute.after.notify")
end,
}
-1
View File
@@ -1,6 +1,5 @@
return {
"kylechui/nvim-surround",
enabled = false,
version = "*", -- Use for stability; omit to use `main` branch for the latest features
event = "VeryLazy",
config = function()
@@ -1,5 +1,4 @@
return {
enabled = true,
"nvim-treesitter/nvim-treesitter-context",
config = function()
require("absolute.after.nvim-treesitter-context")
+1 -4
View File
@@ -1,10 +1,7 @@
return {
"nvim-treesitter/nvim-treesitter",
dependencies = {
"OXY2DEV/markview.nvim",
},
config = function()
vim.cmd([[:silent !TSUpdate]])
require("absolute.after.nvim-treesitter")
end,
end
}
+3 -1
View File
@@ -1,7 +1,9 @@
return {
enabled = false,
"petobens/poet-v",
lazy = true,
ft = "py",
config = function()
require("absolute.after.poet-v")
end,
}
-4
View File
@@ -1,4 +0,0 @@
return {
"MeanderingProgrammer/render-markdown.nvim",
ft = { "markdown", "codecompanion" }
}
-7
View File
@@ -1,7 +0,0 @@
return {
enabled = false,
"sphamba/smear-cursor.nvim",
config = function()
require("absolute.after.smear-cursor")
end,
}
-1
View File
@@ -1,5 +1,4 @@
return {
enabled = false,
"laytan/tailwind-sorter.nvim",
dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-lua/plenary.nvim" },
build = "cd formatter && npm i && npm run build",
@@ -0,0 +1,7 @@
return {
"nvim-telescope/telescope-file-browser.nvim",
dependencies = {
"nvim-telescope/telescope.nvim",
"nvim-lua/plenary.nvim"
},
}
+3 -12
View File
@@ -1,21 +1,12 @@
return {
"nvim-telescope/telescope.nvim",
branch = "0.1.x",
'nvim-telescope/telescope.nvim',
branch = '0.1.x',
dependencies = {
"nvim-lua/popup.nvim",
"nvim-lua/plenary.nvim",
"nvim-telescope/telescope-dap.nvim",
"andrew-george/telescope-themes",
"nvim-telescope/telescope-media-files.nvim",
"nvim-telescope/telescope-file-browser.nvim",
{
"nvim-telescope/telescope-live-grep-args.nvim",
-- This will not install any breaking changes.
-- For major updates, this must be adjusted manually.
version = "^1.0.0",
},
},
config = function()
require("absolute.after.telescope")
end,
end
}
@@ -1,4 +0,0 @@
return {
"bezhermoso/tree-sitter-ghostty",
build = "make nvim_install",
}
-14
View File
@@ -1,14 +0,0 @@
return {
"linux-cultist/venv-selector.nvim",
lazy = false,
branch = "regexp", -- This is the regexp branch, use this for the new version
dependencies = {
"neovim/nvim-lspconfig",
"nvim-telescope/telescope.nvim",
"mfussenegger/nvim-dap-python",
},
config = function()
require("absolute.after.venv-selector")
end,
event = "VeryLazy", -- Optional: needed only if you want to type `:VenvSelect` without a keymapping
}
+15 -15
View File
@@ -1,17 +1,17 @@
return {
"alexghergh/nvim-tmux-navigation",
config = function()
local nvim_tmux_nav = require("nvim-tmux-navigation")
nvim_tmux_nav.setup({
disable_when_zoomed = true, -- defaults to false
})
vim.keymap.set("n", "<C-h>", nvim_tmux_nav.NvimTmuxNavigateLeft)
vim.keymap.set("n", "<C-j>", nvim_tmux_nav.NvimTmuxNavigateDown)
vim.keymap.set("n", "<C-k>", nvim_tmux_nav.NvimTmuxNavigateUp)
vim.keymap.set("n", "<C-l>", nvim_tmux_nav.NvimTmuxNavigateRight)
vim.keymap.set("n", "<C-\\>", nvim_tmux_nav.NvimTmuxNavigateLastActive)
vim.keymap.set("n", "<C-Space>", nvim_tmux_nav.NvimTmuxNavigateNext)
end,
"christoomey/vim-tmux-navigator",
cmd = {
"TmuxNavigateLeft",
"TmuxNavigateDown",
"TmuxNavigateUp",
"TmuxNavigateRight",
"TmuxNavigatePrevious",
},
keys = {
{ "<C-h>", "<cmd><C-U>TmuxNavigateLeft<CR>" },
{ "<C-j>", "<cmd><C-U>TmuxNavigateDown<CR>" },
{ "<C-k>", "<cmd><C-U>TmuxNavigateUp<CR>" },
{ "<C-l>", "<cmd><C-U>TmuxNavigateRight<CR>" },
{ "<C-\\>", "<cmd><C-U>TmuxNavigatePrevious<CR>" },
},
}
+25 -29
View File
@@ -1,7 +1,7 @@
local opts = {
noremap = true,
silent = true,
}
local opts = { noremap = true, silent = true }
opts.desc = "Show Cheatsheet"
vim.keymap.set("n", "<leader>\\", "<cmd>Cheatsheet<CR>", opts) -- toggle file explorer
opts.desc = "Show Keymap"
vim.keymap.set("n", "<leader>?", "<cmd>Telescope keymaps<CR>", opts) -- toggle file explorer
@@ -53,6 +53,10 @@ vim.keymap.set("n", "<leader>Y", [["+Y]], opts)
opts.desc = "Delete current line (blackhole)"
vim.keymap.set({ "n", "v" }, "<leader>d", [["_d]], opts)
-- Alternate Escape (Easy to Reach)
opts.desc = "Alternate Escape (Easy to Reach)"
vim.keymap.set("i", "<C-c>", "<Esc>", opts)
-- Disable Q - Nothing Good Ever Happens
-- Q is normally used to enable Ex mode. We dont want that
opts.desc = "Disable Q - Nothing Good Ever Happens"
@@ -72,6 +76,7 @@ vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz", opts)
opts.desc = "Jump to previous location and center screen"
vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz", opts)
-- Search Regex Keymap
opts.desc = "Regex Replace"
vim.keymap.set("n", "<leader>sr", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]], opts)
@@ -79,31 +84,22 @@ vim.keymap.set("n", "<leader>sr", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left>
opts.desc = "Replace selected text"
vim.keymap.set("v", "<leader>ss", [[:s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]], opts)
-- -- Source File Keymap
-- opts.desc = "Source File"
-- vim.keymap.set("n", "<leader><leader>", function()
-- -- Only source these file extensions
-- local allowed_extensions = [[
-- ".vim",
-- ".lua",
-- ".vimrc",
-- ".gvimrc",
-- ".nvim",
-- ".nvimrc",
-- ".sh"
-- ]]
--
-- -- Get the file extension
-- local file_extension = vim.fn.expand("%:e")
--
-- -- Check if the file extension is allowed
-- if string.find(allowed_extensions, file_extension) then
-- vim.cmd("so %")
-- vim.notify("Sourced file", vim.log.levels.INFO)
-- else
-- vim.notify("Filetype not supported", vim.log.levels.ERROR)
-- end
-- end, opts)
-- Source File Keymap
opts.desc = "Source File"
vim.keymap.set("n", "<leader><leader>", function()
-- Only source these file extensions
local allowed_extensions = [[".vim", ".lua", ".vimrc", ".gvimrc", ".nvim", ".nvimrc", ".sh"]]
-- Get the file extension
local file_extension = vim.fn.expand("%:e")
-- Check if the file extension is allowed
if string.find(allowed_extensions, file_extension) then
vim.cmd("so %")
else
vim.notify("Filetype not supported", vim.log.levels.ERROR)
end
end, opts)
-- Optimize Window Resize
+5 -19
View File
@@ -7,40 +7,26 @@ function CheckPoetryVirtualEnv()
end
function ResolvePythonEnvironment()
-- Check if asdf is installed
-- Get system global python env
local python = vim.fn.system("which python3")
-- Check of virtual environments exists
local virtual = os.getenv("VIRTUAL_ENV") or CheckPoetryVirtualEnv()
local virtual = os.getenv("VIRTUAL_ENV") or os.getenv("CONDA_PREFIX") or CheckPoetryVirtualEnv()
if virtual == nil then
-- Check if poetry environment exists
return {
"--python-executable",
python,
"--python-executable", python
}
end
return {
"--python-executable",
virtual .. "/bin/python",
"--python-executable", virtual .. "/bin/python"
}
end
function ResolvePythonEnvironmentAsString()
local env = ResolvePythonEnvironment()
if env == nil then
return ""
end
local path = table.concat(env, " ")
return path
end
M = {}
M.ResolvePythonEnvironmentAsString = ResolvePythonEnvironmentAsString
M.ResolvePythonEnvironment = ResolvePythonEnvironment
M.CheckPoetryVirtualEnv = CheckPoetryVirtualEnv
@@ -1,67 +0,0 @@
M = {}
local function trim(s)
return s:gsub("^%s*(.-)%s*$", "%1")
end
local ResolveTypescriptServer = function()
-- Find the package.json file
local viable = vim.fn.system("find . -name 'package.json' -maxdepth 3 | xargs dirname")
viable = trim(viable)
if viable == "" then
return nil
end
-- Check for lock files
local find_npm_result = trim(vim.fn.system("find . -name 'package-lock.json' -maxdepth 3 | wc -l"))
local find_pnpm_result = trim(vim.fn.system("find . -name 'pnpm-lock.yaml' -maxdepth 3 | wc -l"))
local find_yarn_result = trim(vim.fn.system("find . -name 'yarn.lock' -maxdepth 3 | wc -l"))
local is_npm = find_npm_result == "1"
local is_pnpm = find_pnpm_result == "1"
local is_yarn = find_yarn_result == "1"
-- if no package lock files are found, end early
if not is_npm and not is_pnpm and not is_yarn then
return nil
end
-- Determine the preferred package manager
local ppm = "pnpm" -- Default to pnpm
if is_npm then
ppm = "npm"
end
if is_yarn then
ppm = "yarn"
end
-- Resolve TypeScript server path
local base_command = ppm .. " list typescript --dir " .. viable .. " --json"
local base_result = trim(vim.fn.system(base_command))
if base_result == "" then
vim.notify("Failed to run " .. base_command, vim.log.levels.ERROR)
return nil
end
local typescript_path = nil
if ppm == "pnpm" or ppm == "npm" or ppm == "yarn" then
local ok, parsed = pcall(vim.fn.json_decode, base_result)
if ok and parsed and #parsed > 0 and parsed[1].path then
typescript_path = parsed[1].path .. "/node_modules/typescript/lib"
end
end
if not typescript_path or typescript_path == "" then
vim.notify("TypeScript not found. Please install TypeScript globally or in the project.", vim.log.levels.ERROR)
return nil
end
return typescript_path
end
M.ResolveTypescriptServer = ResolveTypescriptServer
M.trim = trim
return M
@@ -1,127 +0,0 @@
-- Sourced from github
-- https://github.com/3rd/image.nvim/issues/183#issuecomment-2572606511
M = {}
local supported_images = { "svg", "png", "jpg", "jpeg", "gif", "webp", "avif" }
local from_entry = require("telescope.from_entry")
local Path = require("plenary.path")
local conf = require("telescope.config").values
local Previewers = require("telescope.previewers")
local previewers = require("telescope.previewers")
local image_api = require("image")
local is_image_preview = false
local image = nil
local last_file_path = ""
local is_supported_image = function(filepath)
local split_path = vim.split(filepath:lower(), ".", { plain = true })
local extension = split_path[#split_path]
return vim.tbl_contains(supported_images, extension)
end
local delete_image = function()
if not image then
return
end
image:clear()
is_image_preview = false
end
local create_image = function(filepath, winid, bufnr)
image = image_api.hijack_buffer(filepath, winid, bufnr)
if not image then
return
end
vim.schedule(function()
image:render()
end)
is_image_preview = true
end
local function defaulter(f, default_opts)
default_opts = default_opts or {}
return {
new = function(opts)
if conf.preview == false and not opts.preview then
return false
end
opts.preview = type(opts.preview) ~= "table" and {} or opts.preview
if type(conf.preview) == "table" then
for k, v in pairs(conf.preview) do
opts.preview[k] = vim.F.if_nil(opts.preview[k], v)
end
end
return f(opts)
end,
__call = function()
local ok, err = pcall(f(default_opts))
if not ok then
error(debug.traceback(err))
end
end,
}
end
-- NOTE: Add teardown to cat previewer to clear image when close Telescope
local file_previewer = defaulter(function(opts)
opts = opts or {}
local cwd = opts.cwd or vim.fn.getcwd()
return Previewers.new_buffer_previewer({
title = "File Preview",
dyn_title = function(_, entry)
return Path:new(from_entry.path(entry, true)):normalize(cwd)
end,
get_buffer_by_name = function(_, entry)
return from_entry.path(entry, true)
end,
define_preview = function(self, entry, _)
local p = from_entry.path(entry, true)
if p == nil or p == "" then
return
end
conf.buffer_previewer_maker(p, self.state.bufnr, {
bufname = self.state.bufname,
winid = self.state.winid,
preview = opts.preview,
})
end,
teardown = function(_)
if is_image_preview then
delete_image()
end
end,
})
end, {})
local buffer_previewer_maker = function(filepath, bufnr, opts)
-- NOTE: Clear image when preview other file
if is_image_preview and last_file_path ~= filepath then
delete_image()
end
last_file_path = filepath
if is_supported_image(filepath) then
filepath = string.gsub(filepath, " ", "%%20"):gsub("\\", "")
create_image(filepath, opts.winid, bufnr)
else
previewers.buffer_previewer_maker(filepath, bufnr, opts)
end
end
M.buffer_previewer_maker = buffer_previewer_maker
M.file_previewer = file_previewer.new
return M
+1 -1
View File
@@ -1 +1 @@
vim.cmd("colorscheme catppuccin-macchiato")
vim.cmd("colorscheme catppuccin")