"============================================================================= " File : autoload/unite/sources/outline/defaults/lua.vim " Author : meryngii " Updated : 2013-03-31 " " Licensed under the MIT license: " http://www.opensource.org/licenses/mit-license.php " "============================================================================= function! unite#sources#outline#defaults#lua#outline_info() abort return s:outline_info endfunction let s:Util = unite#sources#outline#import('Util') "----------------------------------------------------------------------------- " Outline Info let s:outline_info = { \ 'heading' : '^\s*\%(local\s\+\)\=function\s\+\h', \ 'skip' : { \ 'block' : ['--\[\[', '--\]\]'], \ }, \ 'highlight_rules': [ \ { 'name' : 'comment', \ 'pattern' : '/--.*/' }, \ { 'name' : 'function', \ 'pattern' : '/\h\w*/' }, \ { 'name' : '_after_colon', \ 'pattern' : '/ : \h\w*/', \ 'highlight': unite#sources#outline#get_highlight('normal') }, \ ] \} function! s:outline_info.create_heading(which, heading_line, matched_line, context) abort let h_lnum = a:context.heading_lnum let level = s:Util.get_indent_level(a:context, h_lnum) let heading = { \ 'word' : a:heading_line, \ 'level': level, \ 'type' : 'generic', \ } let suffix = '' if heading.word =~ '\' let suffix = ' : local' end let heading.word = substitute(heading.word, '^\s*\%(local\s\+\)\=function\s\+', '', '') . suffix return heading endfunction