Skip to content

VIM-1693 Implement autocmd - #1695

Merged
Grzybek (1grzyb1) merged 21 commits into
masterfrom
VIM-1693/autocmd
Apr 20, 2026
Merged

VIM-1693 Implement autocmd#1695
Grzybek (1grzyb1) merged 21 commits into
masterfrom
VIM-1693/autocmd

Conversation

@1grzyb1

Copy link
Copy Markdown
Collaborator

Implements Vim's :autocmd support, allowing users to register Ex commands to run on editor events like BufRead, BufWrite, BufNewFile, FileType, InsertEnter/Leave, WinEnter/Leave, FocusGained/Lost, and buffer enter/leave. Supports augroup blocks, multiple comma-separated events per command, and file/filetype pattern matching with Vim-style globs (*, **, ?, [abc], {foo,bar}). Includes grammar updates in Vimscript.g4, thread-safe listener handling, a new AutoCmdService API, extensive tests, and user-facing documentation in doc/autocmd.md.

@AlexPl292 Alex Plãte (AlexPl292) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

Comment thread src/test/java/org/jetbrains/plugins/ideavim/autocmd/AutoCmdTest.kt
Comment thread src/testFixtures/kotlin/org/jetbrains/plugins/ideavim/impl/TestInjector.kt Outdated
Comment thread src/main/java/com/maddyhome/idea/vim/autocmd/AutoCmdImpl.kt
Comment thread vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api/AutoCmdService.kt Outdated
Comment thread src/main/java/com/maddyhome/idea/vim/autocmd/AutoCmdImpl.kt Outdated
Comment thread src/main/java/com/maddyhome/idea/vim/ui/ex/ExEntryPanel.kt
Comment thread src/main/java/com/maddyhome/idea/vim/autocmd/AutoCmdImpl.kt Outdated
Comment thread src/main/java/com/maddyhome/idea/vim/listener/VimListenerManager.kt Outdated
@1grzyb1
Grzybek (1grzyb1) merged commit 0df627a into master Apr 20, 2026
4 checks passed
@1grzyb1
Grzybek (1grzyb1) deleted the VIM-1693/autocmd branch April 20, 2026 11:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants