Commit Graph

94 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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