mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-24 11:56:06 +00:00

This patch sets the 'iskeyword' variable to characters found in LLVM IR identifiers. Keywords are used in many places in vim, most notably being treated as word boundaries for commands like 'w' and '*'. The aim with this is to improve the navigability and editability of LLVM IR files as now one is able to: skip over entire identifiers with motions (e.g., `w/e/b`); yank/delete whole identifiers (e.g., `diw`); highlight/search for the identifier under the cursor (`*`), etc. More complicated LLVM identifiers including quotation marks are not supported. The 'iskeyword' variable is just a list of characters, not a regex, and including quotation marks and all the characters permitted in quoted identifiers would expand the scope to almost everything and become less usable. These types of identifiers are rare by comparison. Note that this does change how words are considered across the entire LLVM IR file, so including strings, comments, names, etc. Given that the majority of editing/navigating LLVM IR is working with and across values, this is arguably a worthwhile trade-off.
-*- llvm/utils/vim/README -*- This directory contains settings for the vim editor to work on llvm *.ll and tablegen *.td files. It comes with filetype detection rules in the (ftdetect), syntax highlighting (syntax), some minimal sensible default settings (ftplugin) and indentation plugins (indent). To install copy all subdirectories to your $HOME/.vim or if you prefer create symlinks to the files here. Do not copy the vimrc file here it is only meant as an inspiration and starting point for those working on llvm c++ code. Note: If you notice missing or incorrect syntax highlighting, please contact <llvm-bugs [at] lists.llvm.org>; if you wish to provide a patch to improve the functionality, it will be most appreciated. Thank you. If you find yourself working with LLVM Makefiles often, but you don't get syntax highlighting (because the files have names such as Makefile.rules or TEST.nightly.Makefile), add the following to your ~/.vimrc: " LLVM Makefile highlighting mode augroup filetype au! BufRead,BufNewFile *Makefile* set filetype=make augroup END