id = "ideavim" name = "IdeaVim" homepage = "https://github.com/JetBrains/ideavim" description = "IdeaVim - A Vim engine for JetBrains IDEs." # The IdeaVim plugin icon, from the project's repository. icon = "https://raw.githubusercontent.com/JetBrains/ideavim/master/src/main/resources/META-INF/pluginIcon.svg" # IdeaVim is an IDE plugin: it has no binary a user types and no bundle # identifier of its own, so `detect` carries the identifier the platform that # loads it reports — the element of # src/main/resources/META-INF/plugin.xml, "IdeaVIM". Deliberately not the host # IDE's binary: `idea` maps to the IntelliJ IDEA entry, whose configuration # directory is a different place entirely. executables = ["IdeaVIM"] [dotfiles] # README, "Files": "Use the ~/.ideavimrc file as an analog of ~/.vimrc", and # "The XDG standard is supported, as well", i.e. # $XDG_CONFIG_HOME/ideavim/ideavimrc — written as [configHome] because the # README names the variable rather than assuming ~/.config. Both are listed # because a machine can be carrying either. IDEA_VIM_CUSTOM_VIMRC can move the # file somewhere a consumer cannot resolve, so it is not listed. # # This is a separate file from the IDE's own configuration directory, which the # `idea` entry covers: IdeaVim reads a vimrc out of the home directory, not out # of JetBrains/IntelliJIdea*/. paths = ["~/.ideavimrc", "[configHome]/ideavim/ideavimrc"] exclude = [] secret = [] # No machine_lines: a vimrc for an IDE is mappings, `set` options and plugin # declarations, all of which the user wants on every machine. The `set # directory=` / `backupdir=` / `undodir=` scratch paths that Vim's own entry # carves out have no meaning here — IdeaVim does not implement them. side_effect = false