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.
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.
feat(lsp-config.lua): enable rope_autoimport, flake8, pyflakes, and pycodestyle plugins for pylsp
refactor(lsp-config.lua): comment out jedi_language_server configuration
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
Add the cheatsheet plugin and its dependencies to the configuration file. This allows for the integration of the cheatsheet functionality into the application.
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.
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.
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
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
- 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
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
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
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