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