tomtom / quickfixsigns_vim

Mark quickfix & location list items with signs
http://www.vim.org/scripts/script.php?script_id=2584
GNU General Public License v3.0
131 stars 13 forks source link
vim vim-plugin viml

Display |signs| at interesting lines:

- items in the |quickfix| and |location-lists| (e.g. compilation errors)
- |marks| a-zA-Z
- changes (given the file is under a VCS like git, svn, mercurial, 
  or bazaar -- see |g:tlib#vcs#def| for a list of supported VCSs)
- breakpoints: vim, R (if rer_vim is installed)
- cursor position
- relative line numbers (show numbers only until the cursor moves; 
  this requires that you add the following command to |vimrc|: >
    noremap <silent> <leader><c-l> :call quickfixsigns#RelNumbersOnce()<cr>

< - long lines (see |g:quickfixsigns_class_longlines| for details)

Other lists can be configured via the |g:quickfixsigns_lists| variable.

The text attached to a quickfix or location-list entry is displayed in a balloon via 'balloonexpr'. NOTE: This could cause a conflict with other plugins that make use of balloons.

If you want nicer looking images instead of the ASCII markers, you have to change the following signs' definition either in your |vimrc| file or in $VIMFILES/after/plugin/quickfixsigns.vim (by use of |sign-define|):

QFS_QFL ... Entries in the |quickfix| list
QFS_LOC ... Entries in the |location-list|
QFS_Mark_[a-zA-Z] ... Marks
QFS_CURSOR ... Current cursor position
QFS_BREAKPOINT ... Breakpoints
QFS_REL_x ... Relative line numbers
QFS_VCS_{ADD,DEL,CHANGE} ... VCS changes (see also 
        |g:quickfixsigns#vcsdiff#highlight|)

Adding new sign classes~

VIM plugin developers can easily define new sign classes:

1. Add the NAME of your sign class to |g:quickfixsigns_classes|
2. Define a variable g:quickfixsigns_class_{NAME} -- a dictionary that 
   contains at least the following keys: sign, get. See 
   |g:quickfixsigns_classes| for further details.

On startup any files matching autoload/quickfixsigns/*.vim in the 'runtimepath' are loaded. When the sign class is defined in an |autoload| file, you should first check whether NAME is included in |g:quickfixsigns_classes|. See ../autoload/quickfixsigns/breakpoints.vim for a working example.

CAVEAT: If the "get" expression entails running an external program, "event" should not contain |FocusGained| and |FocusLost| events.

CREDITS: quickfixsigns includes some icons from the open icon library. See http://openiconlibrary.sourceforge.net for details.


Install~

Edit the vba file and type: >

:so %

See :help vimball for details. If you have difficulties or use vim 7.0, please make sure, you have the current version of vimball (vimscript #1502) installed or update your runtime.

Optional enhancements~

If tinykeymap (vimscript #4199) is installed, a map (see |g:tinykeymap#map#quickfixsigns#map|, which defaults to ms) can be used to jump from sign to sign or between sign groups.

License: GPLv3 or later