Commit Graph
148 Commits
Author SHA1 Message Date
Alex PlateandClaude Opus 4.6 608e41bfaa Move Plugin API docs under api/ subfolder
Part of the VimApi freeze decision (VIM-4161).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 18:31:54 +02:00
Alex PlateandClaude Opus 4.6 6889ba37c5 T006: Add VimInitApi delegation wrapper for init-time type safety
Introduce VimInitApi as a restricted wrapper around VimApi that exposes
only init-safe methods (getVariable, mappings, textObjects,
exportOperatorFunction). During plugin init() there is no editor context,
so editor operations should not be callable. VimInitApi enforces this at
the type level via delegation rather than inheritance.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 18:31:50 +02:00
1grzyb1andGrzybek f1355c3305 VIM-3948 Enable vimhints through 'Plug'
As vimhints are not part of neovim, it makes more sense to keep it as a plugin, not as an option
2026-02-10 12:02:34 +01:00
1grzyb1andAlex Plãte 4b3271d4f9 VIM-3948 document vim hints 2026-02-06 13:51:54 +02:00
Alex PlateandClaude Opus 4.5 f3de0d647d Refactor Range.Block API to use start/end offsets instead of array
Change Range.Block from storing an array of per-line ranges to using
simple start/end offsets, matching how block selection is stored
internally in VimBlockSelection. The conversion to per-line ranges
now happens internally in CaretTransactionImpl.

Changes:
- Range.Block now uses (start: Int, end: Int) like Range.Simple
- Add replaceTextBlockwise(Range.Block, String) overload for single text
- Update CaretReadImpl to return block start/end from primary caret
- Add blockToLineRanges() helper in CaretTransactionImpl
- Update ReplaceWithRegisterNewApi to use simplified API
- Add 17 new tests for block selection and replacement

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-12 15:24:57 +02:00
Alex Plate 378ae22863 Fix expansion of env variables for the options
Relates to VIM-2143
2025-11-21 23:48:43 +02:00
Alex Plate 5bb4a69d88 Fix(VIM-2143): Add env variables expansion for the source command 2025-11-21 23:48:42 +02:00
Alex Plate d5b0896e7f Fix Plugin API documentation to use correct mapping signatures
The documentation was showing incorrect function signatures with non-existent
parameters (keys, label, isRepeatable) and not following the 2-step <Plug>
mapping pattern established in d288a52ef.

Changes:
- Remove non-existent parameters from all mapping examples
- Update all examples to use the correct 2-step pattern:
  1. nnoremap("<Plug>...") for non-recursive <Plug> → action mappings
  2. nmap("key", "<Plug>...") for recursive key → <Plug> mappings
- Add explanation of the 2-step pattern and its benefits in the tutorial
- Remove non-existent shortPath parameter from @VimPlugin annotation

This ensures documentation matches the actual MappingScope API and teaches
users the best practice pattern for creating mappings that can be overridden
in .ideavimrc.
2025-10-27 11:00:05 +02:00
Matt EllisandAlex Plãte 1048d06586 Remove no longer used 'ideaglobalmode' text 2025-10-24 14:29:58 +03:00
Alex Plate 168fa309ae Add an instruction that an external plugin should be installed 2025-10-02 17:07:24 +03:00
3d2375e937 Update doc/IdeaVim Plugins.md
Thanks!

Co-authored-by: Thomas Gautvedt <thomas.gautvedt@gmail.com>
2025-10-02 17:04:55 +03:00
magidcandAlex Plãte c8ea045ef9 Added plugins Vim-Dial and Vim-AnyObject to plugins document 2025-10-02 17:04:55 +03:00
Alex Plate c66a212781 [API] Add experimental API warning to all plugin documentation
Added prominent warning notice to all Plugin API documentation files:
- Plugin-API-reference.md
- Plugin-API-introduction.md
- Plugin-API-quick-start-guide.md
- Plugin-API-tutorial-replace-with-register.md

The warning clearly states that the API is experimental and not
recommended for production use, with potential breaking changes.
2025-08-29 18:11:26 +03:00
Alex Plate 0099ea9073 [API] Update Plugin API Reference documentation for OptionScope
- Document that option() function now returns a value
- Add comprehensive documentation for list option methods (append, prepend, remove)
- Add utility methods documentation (toggle, split)
- Include practical usage examples and common use cases
- Update method signatures to reflect non-nullable returns
- Add Vim command equivalents for better understanding
2025-08-29 18:11:26 +03:00
Alex Plate 492bd62166 Rename VimScope to VimApi and move it into a different package
`VimApi` would be a better entry point name. Also, the API term is clearer than the scope.
2025-08-08 12:44:30 +03:00
Mia VucinicandAlex Plãte efdd0b9910 Add docs for the new Plugin API 2025-08-01 15:44:06 +03:00
Peter HoburgandAlex Pláte ef0883bc0d finished adding summaries. 2025-03-28 18:00:26 +02:00
Peter HoburgandAlex Pláte 0b4ad07b32 Moved more details around,
added more About sections.
2025-03-28 18:00:26 +02:00
Peter HoburgandAlex Pláte 3d1a426566 Added back in a missing </details> tag. 2025-03-28 18:00:26 +02:00
Peter HoburgandAlex Pláte 6f4eb838c3 Started alphabetizing and adding About: sections to the IdeaVim Plugins.md 2025-03-28 18:00:26 +02:00
Alex Plate fa4c89e134 Add two more interesting facts to the IdeaVim facts about Vim 2025-02-20 19:27:32 +02:00
Osvaldo Cordova AburtoandAlex Pláte 31a6d8174a feat: add mini-ai extension 2025-01-27 23:19:24 +02:00
Alex Plate 8a2736e0b7 Add a post about Vim facts 2025-01-20 19:29:49 +02:00
Julien PhalipandAlex Pláte b2a6d0d5c7 Add switch and functiontextobj to list of plugins 2024-11-26 14:15:38 +02:00
Julien Phalipandlippfi 5db2984fdd Add ability to set the highlightedyank foreground color 2024-11-22 15:48:22 +02:00
Alex Plate b0951f4a38 Add information about the Vim-Peekaboo plugin 2024-11-08 11:06:32 +02:00
Alex Plate ad762379fb Update IdeaVim Plugins.md 2024-10-21 16:12:11 +03:00
SanderHestvikandAlex Pláte dd4f2de368 Fix links in doc/Home.md
Currently these links give a 404
2024-10-21 16:11:29 +03:00
Igor BabkoandAlex Pláte 4e1de61d77 Update support-guide.md 2024-10-21 14:13:31 +03:00
Alex Plate 73326e623e Use the behavior form in docs 2024-08-30 16:42:03 +03:00
Felix WiemuthandAlex Pláte b652c7726a Fix typo 2024-08-30 16:41:05 +03:00
Igor BabkoandAlex Pláte 7ed3e3b53c Update support-guide.md 2024-08-23 12:14:41 +03:00
Alex PláteandGitHub 44749b6d8c Update IdeaVim Plugins.md 2024-08-12 12:16:19 +03:00
Alex PláteandGitHub 1ce4dbc569 Update Home.md 2024-08-12 12:14:44 +03:00
Alex PláteandGitHub db59513505 Update Home.md 2024-08-12 12:13:36 +03:00
Matt EllisandAlex Pláte e07a16863e Show possible IDs based on the action's shortcuts
Fixes VIM-3499
2024-07-12 15:09:02 +03:00
Alex Plate c5346fbece Update NERDTree documentation with newly added commands 2024-06-21 16:56:04 +03:00
Alex FuandAlex Pláte 1452c116cf Update to include other default key binds 2024-06-21 13:04:36 +03:00
Alex FuandAlex Pláte 23dfc4b339 Update docs for multiple-cursors plugin 2024-06-21 13:04:36 +03:00
Eduardo HaesbaertandAlex Pláte 4788dacc86 Fix wording
There is one additional `the` before the preview gif, and also, changing the wording from "to" to " for".
2024-05-24 10:10:46 +03:00
Matt EllisandAlex Pláte d00e802674 Update options documentation 2024-05-10 15:27:24 +03:00
Alex Plate aae0d825e7 Move the ideavim-sneak plugin into IdeaVim
The author of the original plugin announced the deprecation of the plugin.
However, we've got an approval to move the sources into IdeaVim and continue the development.

Original repo: https://github.com/Mishkun/ideavim-sneak
Approval: https://twitter.com/ideavim/status/1754512214344478939
2024-02-05 19:28:36 +02:00
Leonid DanilovandAlex Pláte 6fe2cf13b6 Added "Which-Key" to Plugins 2024-01-02 12:11:58 +02:00
Alex Plate 463164cb88 [VIM-3214] Add information that ideajoin is not supported everywhere 2023-12-01 14:13:30 +02:00
Patryk WydmuchandAlex Pláte 75e4b19b88 Fix md links in doc 2023-10-25 09:10:24 +03:00
Alex Plate 1c28c138e0 Add post about modes in vim 2023-09-14 15:41:23 +03:00
Alex Plate fe87e86721 Fix typo in wiki 2023-09-01 19:09:14 +03:00
Alex Plate 6a8c210a23 Fix incorrect tic in docs 2023-08-02 16:43:53 +03:00
Dani SevastianovandAlex Pláte 02ff5cb24b Fix quick-scope setup documentation 2023-03-13 09:03:37 +02:00
filipp 81e8a28cc3 Marketplace plugin mapping tutorial 2023-03-03 16:47:46 +02:00