Skip to content

Latest commit

 

History

History
70 lines (46 loc) · 2.5 KB

README.mkd

File metadata and controls

70 lines (46 loc) · 2.5 KB

unite-outline

Note: I am Shougo(unite plugin author). This plugin created by h1mesuke originally. He is great VimL programmer. But he has not maintained this plugin in several years. And I cannot contact with him. So I have maintained it instead. To add features to this plugin is hard. I cannot extend it. Pull requests are well come.

Introduction

unite-outline is a unite.vim's source which provides your Vim's buffer with the outline view. It parses the current buffer's content and extracts headings from the buffer. And then it shows the list of the headings using unite.vim's interface. When you select a heading from the list, you can jump to the corresponding location in the buffer.

The methods for extracting headings can be implemented for each individual filetypes. You can customize them as you like with Vim script and can also create new ones for unsupported filetypes.

Install

Install the distributed files into your Vim script directory which is usually $HOME/.vim, or $HOME/vimfiles on Windows.

You can show the heading list of the current buffer with ":Unite outline" command if you succeeded the installation (and unite-outline supports the filetype of the buffer).

C, C++, Java, etc

Usage

To show the heading list of the current buffer, execute |:Unite| command with "outline" as a source parameter.

:Unite outline

unite-outline parses the current buffer's content and extracts headings from the buffer. And then it shows the list of the headings with unite.vim's interface. When you select a heading from the list, you can jump to the corresponding location of the buffer.

See :help unite-outline for more details.

Extending

The easiest way to extend this plugin is if your language is supported by ctags. If this is the case, add an entry to the lang_info dictionary in:

./autoload/unite/sources/outline/modules/ctags.vim

The --ctags-options field in the dictionary gets passed to ctags and specifies the things ctags will report, the other fields control how unite-outline organizines the items that ctags returns.

Finally, add an outline_info dictionary in a file named after your filetype:

./autoload/unite/sources/outline/defaults/{FILETYPE}.vim

See the other filetypes already in autoload/unite/sources/outline/defaults for examples of what those files look like. Good luck!

Screenshots

See unite-outline's wiki.