*mkbuild.txt* Plugin for integrating with mkbuild build system features Author: R. Steve McKown License: Same terms as Vim itself (see |license|) This plugin is only available if 'compatible' is not set. INTRODUCTION *mkbuild* This plugin provides features for working with code using the mkbuild build system. The first tool is a method to select files from the project using dmenu, which will also work without mkbuild. Map mkbuild#DmenuOpen(cmd) to some key, such as: nnoremap e :call mkbuild#DmenuOpen('e') The function will use dmenu to select a file to execute with provided argument. If no file is selected by the user via dmenu, or if dmenu is not installed, no action is taken. This idea was originally discovered at http://leafo.net/posts/using_dmenu_to_open_quickly.html. The list of files presented to dmenu comes from one of four places, in the following priority order: 1. All filelist files found in the same directory(ies) vim looks for tags files. The filelist file is built by mkbuild and will be available to vim sessions started via 'make edit'. 2. Any tags files found in &tags. The file is parsed to get filenames. A tags file is set by mkbuild's 'make edit', but other tag files created outside of mkbuild should be parseable as well. This function does not due the directory traversing than vim can normally do to find tag files. 3. The tracked files in the current git repository, and/or the tracked files in those valid git repositories named in the 'extrefs' file, if present. 3. Perform a 'find . -type f' in the current directory. The second tool is a method to allow switching to a new tags and/or cscope database. This is especially useful for mkbuild, which can build the same code for multiple platforms, and each platform build directory contains its own tags and cscope database files. Map mkbuild#SelectXref() to some key, such as: nnoremap x :call mkbuild#SelectXref() vim:tw=78:ts=8:ft=help:norl: