Project [ DocBlock [ PluginAnnotation "loupe" "Loupe plug-in for Vim" , TOC [ "Intro" , "Installation" , "Mappings" , "Options" , "Overrides" , "Related" , "Website" , "License" , "Development" , "Authors" , "History" ] ] , HeadingAnnotation "Intro" , Blockquote [ Paragraph [ Plaintext "\"loupe" , Whitespace , Plaintext "(noun)" , BreakTag , Plaintext "a" , Whitespace , Plaintext "small" , Whitespace , Plaintext "magnifying" , Whitespace , Plaintext "glass" , Whitespace , Plaintext "used" , Whitespace , Plaintext "by" , Whitespace , Plaintext "jewelers" , Whitespace , Plaintext "and" , Whitespace , Plaintext "watchmakers.\"" ] ] , LinkTargets [ "loupe-features" ] , Paragraph [ Plaintext "Loupe" , Whitespace , Plaintext "enhances" , Whitespace , Plaintext "Vim's" , Whitespace , Link "search-commands" , Whitespace , Plaintext "in" , Whitespace , Plaintext "four" , Whitespace , Plaintext "ways:" ] , SubheadingAnnotation "1. Makes the currently selected match easier to see" , Paragraph [ Plaintext "When" , Whitespace , Plaintext "searching" , Whitespace , Plaintext "using" , Whitespace , Link "/" , Plaintext "," , Whitespace , Link "?" , Plaintext "," , Whitespace , Link "star" , Plaintext "," , Whitespace , Link "#" , Plaintext "," , Whitespace , Link "n" , Plaintext "," , Whitespace , Link "N" , Whitespace , Plaintext "or" , Whitespace , Plaintext "similar," , Whitespace , Plaintext "it" , Whitespace , Plaintext "can" , Whitespace , Plaintext "be" , Whitespace , Plaintext "hard" , Whitespace , Plaintext "to" , Whitespace , Plaintext "see" , Whitespace , Plaintext "the" , Whitespace , Plaintext "\"current\"" , Whitespace , Plaintext "match" , Whitespace , Plaintext "from" , Whitespace , Plaintext "among" , Whitespace , Plaintext "all" , Whitespace , Plaintext "the" , Whitespace , Plaintext "matches" , Whitespace , Plaintext "that" , Whitespace , Plaintext "'hlsearch'" , Whitespace , Plaintext "highlights." , Whitespace , Plaintext "Loupe" , Whitespace , Plaintext "makes" , Whitespace , Plaintext "the" , Whitespace , Plaintext "currently" , Whitespace , Plaintext "selected" , Whitespace , Plaintext "match" , Whitespace , Plaintext "easier" , Whitespace , Plaintext "to" , Whitespace , Plaintext "see" , Whitespace , Plaintext "by:" ] , List [ ListItem [ Plaintext "Applying" , Whitespace , Plaintext "a" , Whitespace , Plaintext "different" , Whitespace , Link ":highlight" , Whitespace , Plaintext "group" , Whitespace , Plaintext "(by" , Whitespace , Plaintext "default," , Whitespace , Link "hl-IncSearch" , Plaintext ")" , Whitespace , Plaintext "to" , Whitespace , Plaintext "the" , Whitespace , Plaintext "match" , Whitespace , Plaintext "under" , Whitespace , Plaintext "the" , Whitespace , Plaintext "cursor." ] , ListItem [ Plaintext "Keeping" , Whitespace , Plaintext "the" , Whitespace , Plaintext "matching" , Whitespace , Plaintext "line" , Whitespace , Plaintext "centered" , Whitespace , Plaintext "within" , Whitespace , Plaintext "the" , Whitespace , Plaintext "window" , Whitespace , Plaintext "when" , Whitespace , Plaintext "jumping" , Whitespace , Plaintext "between" , Whitespace , Plaintext "matches" , Whitespace , Plaintext "with" , Whitespace , Link "n" , Whitespace , Plaintext "and" , Whitespace , Link "N" , Plaintext "." ] ] , SubheadingAnnotation "2. Applies sane pattern syntax by default" , Paragraph [ Plaintext "Loupe" , Whitespace , Plaintext "makes" , Whitespace , Plaintext "\"very" , Whitespace , Plaintext "magic\"" , Whitespace , Plaintext "(" , Link "/\\v" , Plaintext ")" , Whitespace , Plaintext "syntax" , Whitespace , Plaintext "apply" , Whitespace , Plaintext "by" , Whitespace , Plaintext "default" , Whitespace , Plaintext "when" , Whitespace , Plaintext "searching." , Whitespace , Plaintext "This" , Whitespace , Plaintext "is" , Whitespace , Plaintext "true" , Whitespace , Plaintext "even" , Whitespace , Plaintext "if" , Whitespace , Plaintext "you" , Whitespace , Plaintext "initiate" , Whitespace , Plaintext "a" , Whitespace , Plaintext "search" , Whitespace , Plaintext "via" , Whitespace , Plaintext "a" , Whitespace , Plaintext "novel" , Whitespace , Plaintext "means," , Whitespace , Plaintext "such" , Whitespace , Plaintext "as" , Whitespace , Plaintext "from" , Whitespace , Plaintext "a" , Whitespace , Plaintext "visual" , Whitespace , Plaintext "selection" , Whitespace , Plaintext "or" , Whitespace , Plaintext "with" , Whitespace , Plaintext "a" , Whitespace , Plaintext "complicated" , Whitespace , Link ":range" , Whitespace , Plaintext "prefix." ] , Paragraph [ Plaintext "This" , Whitespace , Plaintext "means" , Whitespace , Plaintext "that" , Whitespace , Plaintext "you" , Whitespace , Plaintext "can" , Whitespace , Plaintext "use" , Whitespace , Plaintext "a" , Whitespace , Plaintext "pattern" , Whitespace , Plaintext "syntax" , Whitespace , Plaintext "closer" , Whitespace , Plaintext "to" , Whitespace , Plaintext "the" , Whitespace , Plaintext "familiar" , Whitespace , Plaintext "regular" , Whitespace , Plaintext "expression" , Whitespace , Plaintext "syntax" , Whitespace , Plaintext "from" , Whitespace , Plaintext "languages" , Whitespace , Plaintext "such" , Whitespace , Plaintext "as" , Whitespace , Plaintext "Perl," , Whitespace , Plaintext "Ruby," , Whitespace , Plaintext "JavaScript" , Whitespace , Plaintext "(indeed," , Whitespace , Plaintext "most" , Whitespace , Plaintext "other" , Whitespace , Plaintext "modern" , Whitespace , Plaintext "languages" , Whitespace , Plaintext "that" , Whitespace , Plaintext "support" , Whitespace , Plaintext "regular" , Whitespace , Plaintext "expressions)." ] , SubheadingAnnotation "3. Provides a shortcut to remove search highlighting" , Paragraph [ Plaintext "Loupe" , Whitespace , Plaintext "maps" , Whitespace , Plaintext "n" , Whitespace , Plaintext "to" , Whitespace , Plaintext "quickly" , Whitespace , Plaintext "remove" , Whitespace , Plaintext "all" , Whitespace , Plaintext "'hlsearch'" , Whitespace , Plaintext "highlighting" , Whitespace , Plaintext "(although" , Whitespace , Plaintext "you" , Whitespace , Plaintext "can" , Whitespace , Plaintext "provide" , Whitespace , Plaintext "an" , Whitespace , Plaintext "alternative" , Whitespace , Plaintext "mapping" , Whitespace , Plaintext "of" , Whitespace , Plaintext "your" , Whitespace , Plaintext "choosing" , Whitespace , Plaintext "or" , Whitespace , Plaintext "suppress" , Whitespace , Plaintext "the" , Whitespace , Plaintext "feature" , Whitespace , Plaintext "entirely)." ] , SubheadingAnnotation "4. Sensible defaults for search-related features" , Paragraph [ Plaintext "Loupe" , Whitespace , Plaintext "provides" , Whitespace , Plaintext "reasonable" , Whitespace , Plaintext "defaults" , Whitespace , Plaintext "for" , Whitespace , Plaintext "most" , Whitespace , Plaintext "search-related" , Whitespace , Plaintext "Vim" , Whitespace , Plaintext "settings" , Whitespace , Plaintext "to" , Whitespace , Plaintext "provide" , Whitespace , Plaintext "a" , Whitespace , Plaintext "good" , Whitespace , Plaintext "\"out" , Whitespace , Plaintext "of" , Whitespace , Plaintext "the" , Whitespace , Plaintext "box\"" , Whitespace , Plaintext "experience." , Whitespace , Plaintext "For" , Whitespace , Plaintext "more" , Whitespace , Plaintext "details," , Whitespace , Plaintext "or" , Whitespace , Plaintext "to" , Whitespace , Plaintext "see" , Whitespace , Plaintext "how" , Whitespace , Plaintext "to" , Whitespace , Plaintext "override" , Whitespace , Plaintext "Loupe's" , Whitespace , Plaintext "settings," , Whitespace , Plaintext "see" , Whitespace , Link "loupe-overrides" , Plaintext "." ] , HeadingAnnotation "Installation" , Paragraph [ Plaintext "To" , Whitespace , Plaintext "install" , Whitespace , Plaintext "Loupe," , Whitespace , Plaintext "use" , Whitespace , Plaintext "your" , Whitespace , Plaintext "plug-in" , Whitespace , Plaintext "management" , Whitespace , Plaintext "system" , Whitespace , Plaintext "of" , Whitespace , Plaintext "choice." ] , Paragraph [ Plaintext "If" , Whitespace , Plaintext "you" , Whitespace , Plaintext "don't" , Whitespace , Plaintext "have" , Whitespace , Plaintext "a" , Whitespace , Plaintext "\"plug-in" , Whitespace , Plaintext "management" , Whitespace , Plaintext "system" , Whitespace , Plaintext "of" , Whitespace , Plaintext "choice\"," , Whitespace , Plaintext "I" , Whitespace , Plaintext "recommend" , Whitespace , Plaintext "Pathogen" , Whitespace , Plaintext "(https://github.com/tpope/vim-pathogen)" , Whitespace , Plaintext "due" , Whitespace , Plaintext "to" , Whitespace , Plaintext "its" , Whitespace , Plaintext "simplicity" , Whitespace , Plaintext "and" , Whitespace , Plaintext "robustness." , Whitespace , Plaintext "Assuming" , Whitespace , Plaintext "that" , Whitespace , Plaintext "you" , Whitespace , Plaintext "have" , Whitespace , Plaintext "Pathogen" , Whitespace , Plaintext "installed" , Whitespace , Plaintext "and" , Whitespace , Plaintext "configured," , Whitespace , Plaintext "and" , Whitespace , Plaintext "that" , Whitespace , Plaintext "you" , Whitespace , Plaintext "want" , Whitespace , Plaintext "to" , Whitespace , Plaintext "install" , Whitespace , Plaintext "Loupe" , Whitespace , Plaintext "into" , Whitespace , Code "~/.vim/bundle" , Plaintext "," , Whitespace , Plaintext "you" , Whitespace , Plaintext "can" , Whitespace , Plaintext "do" , Whitespace , Plaintext "so" , Whitespace , Plaintext "with:" ] , Fenced [ "git clone https://github.com/wincent/loupe.git ~/.vim/bundle/loupe" ] , Paragraph [ Plaintext "Alternatively," , Whitespace , Plaintext "if" , Whitespace , Plaintext "you" , Whitespace , Plaintext "use" , Whitespace , Plaintext "a" , Whitespace , Plaintext "Git" , Whitespace , Plaintext "submodule" , Whitespace , Plaintext "for" , Whitespace , Plaintext "each" , Whitespace , Plaintext "Vim" , Whitespace , Plaintext "plug-in," , Whitespace , Plaintext "you" , Whitespace , Plaintext "could" , Whitespace , Plaintext "do" , Whitespace , Plaintext "the" , Whitespace , Plaintext "following" , Whitespace , Plaintext "after" , Whitespace , Code "cd" , Plaintext "-ing" , Whitespace , Plaintext "into" , Whitespace , Plaintext "the" , Whitespace , Plaintext "top-level" , Whitespace , Plaintext "of" , Whitespace , Plaintext "your" , Whitespace , Plaintext "Git" , Whitespace , Plaintext "superproject:" ] , Fenced [ "git submodule add https://github.com/wincent/loupe.git ~/vim/bundle/loupe" , "git submodule init" ] , Paragraph [ Plaintext "To" , Whitespace , Plaintext "generate" , Whitespace , Plaintext "help" , Whitespace , Plaintext "tags" , Whitespace , Plaintext "under" , Whitespace , Plaintext "Pathogen," , Whitespace , Plaintext "you" , Whitespace , Plaintext "can" , Whitespace , Plaintext "do" , Whitespace , Plaintext "so" , Whitespace , Plaintext "from" , Whitespace , Plaintext "inside" , Whitespace , Plaintext "Vim" , Whitespace , Plaintext "with:" ] , Fenced [ ":call pathogen#helptags()" ] , Project [ Unit [ FunctionDeclaration { functionBang = True , functionName = "loupe#private#very_magic_slash" , functionArguments = ArgumentList [] , functionAttributes = [ "abort" ] , functionBody = [ GenericStatement "if getcmdtype() != ':'" , GenericStatement "return '/'" , GenericStatement "endif" , LetStatement { letLexpr = "l:pos" , letValue = "getcmdpos()" } , LetStatement { letLexpr = "l:cmd" , letValue = "getcmdline()" } , GenericStatement "if len(l:cmd) + 1 != l:pos" , GenericStatement "return '/'" , GenericStatement "endif" , GenericStatement "while 1" , LetStatement { letLexpr = "l:stripped" , letValue = "s:strip_ranges(l:cmd)" } , GenericStatement "if l:stripped ==# l:cmd" , GenericStatement "break" , GenericStatement "else" , LetStatement { letLexpr = "l:cmd" , letValue = "l:stripped" } , GenericStatement "endif" , GenericStatement "endwhile" , GenericStatement "if index(['g', 's', 'v'], l:cmd) != -1" , GenericStatement "return loupe#private#prepare_highlight('/\\v')" , GenericStatement "endif" , GenericStatement "return '/'" ] } , FunctionDeclaration { functionBang = True , functionName = "s:strip_ranges" , functionArguments = ArgumentList [ Argument "cmdline" ] , functionAttributes = [] , functionBody = [ LetStatement { letLexpr = "l:cmdline" , letValue = "a:cmdline" } , LetStatement { letLexpr = "l:modifier" , letValue = "'\\([+-]\\d*\\)*'" } , LetStatement { letLexpr = "l:cmdline" , letValue = "substitute(l:cmdline, '^\\d\\+' . l:modifier, '', '') \" line number" } , LetStatement { letLexpr = "l:cmdline" , letValue = "substitute(l:cmdline, '^\\.' . l:modifier, '', '') \" current line" } , LetStatement { letLexpr = "l:cmdline" , letValue = "substitute(l:cmdline, '^$' . l:modifier, '', '') \" last line in file" } , LetStatement { letLexpr = "l:cmdline" , letValue = "substitute(l:cmdline, '^%' . l:modifier, '', '') \" entire file" } , LetStatement { letLexpr = "l:cmdline" , letValue = "substitute(l:cmdline, \"^'[a-z]\\\\c\" . l:modifier, '', '') \" mark t (or T)" } , LetStatement { letLexpr = "l:cmdline" , letValue = "substitute(l:cmdline, \"^'[<>]\" . l:modifier, '', '') \" visual selection marks" } , LetStatement { letLexpr = "l:cmdline" , letValue = "substitute(l:cmdline, '^/[^/]\\+/' . l:modifier, '', '') \" /{pattern}/" } , LetStatement { letLexpr = "l:cmdline" , letValue = "substitute(l:cmdline, '^?[^?]\\+?' . l:modifier, '', '') \" ?{pattern}?" } , LetStatement { letLexpr = "l:cmdline" , letValue = "substitute(l:cmdline, '^\\\\/' . l:modifier, '', '') \" \\/ (next match of previous pattern)" } , LetStatement { letLexpr = "l:cmdline" , letValue = "substitute(l:cmdline, '^\\\\?' . l:modifier, '', '') \" \\? (last match of previous pattern)" } , LetStatement { letLexpr = "l:cmdline" , letValue = "substitute(l:cmdline, '^\\\\&' . l:modifier, '', '') \" \\& (last match of previous substitution)" } , LetStatement { letLexpr = "l:cmdline" , letValue = "substitute(l:cmdline, '^,', '', '') \" , (separator)" } , LetStatement { letLexpr = "l:cmdline" , letValue = "substitute(l:cmdline, '^;', '', '') \" ; (separator)" } , GenericStatement "return l:cmdline" ] } , FunctionDeclaration { functionBang = True , functionName = "loupe#private#prepare_highlight" , functionArguments = ArgumentList [ Argument "result" ] , functionAttributes = [ "abort" ] , functionBody = [ GenericStatement "if has('autocmd')" , GenericStatement "augroup LoupeHightlightMatch" , GenericStatement "autocmd!" , GenericStatement "autocmd CursorMoved * :call loupe#private#hlmatch()" , GenericStatement "augroup END" , GenericStatement "endif" , GenericStatement "return a:result" ] } , FunctionDeclaration { functionBang = True , functionName = "loupe#private#clear_highlight" , functionArguments = ArgumentList [] , functionAttributes = [ "abort" ] , functionBody = [ GenericStatement "if exists('w:loupe_hlmatch')" , GenericStatement "try" , GenericStatement "call matchdelete(w:loupe_hlmatch)" , GenericStatement "catch /\\v<(E802|E803)>/" , GenericStatement "finally" , UnletStatement { unletBang = False , unletBody = "w:loupe_hlmatch" } , GenericStatement "endtry" , GenericStatement "endif" ] } , FunctionDeclaration { functionBang = True , functionName = "loupe#private#cleanup" , functionArguments = ArgumentList [] , functionAttributes = [ "abort" ] , functionBody = [ GenericStatement "if !v:hlsearch" , GenericStatement "call loupe#private#clear_highlight()" , GenericStatement "endif" ] } , FunctionDeclaration { functionBang = True , functionName = "loupe#private#hlmatch" , functionArguments = ArgumentList [] , functionAttributes = [ "abort" ] , functionBody = [ Empty , LetStatement { letLexpr = "l:highlight" , letValue = "get(g:, 'LoupeHighlightGroup', 'IncSearch')" } , GenericStatement "if empty(l:highlight)" , GenericStatement "return" , GenericStatement "endif" , GenericStatement "if has('autocmd')" , GenericStatement "augroup LoupeHightlightMatch" , GenericStatement "autocmd!" , GenericStatement "augroup END" , GenericStatement "endif" , GenericStatement "call loupe#private#clear_highlight()" , LetStatement { letLexpr = "l:pattern" , letValue = "'\\c\\%#' . @/" } , GenericStatement "if exists('*matchadd')" , LetStatement { letLexpr = "w:loupe_hlmatch" , letValue = "matchadd(l:highlight, l:pattern)" } , GenericStatement "endif" ] } ] , Unit [ GenericStatement "if exists('g:LoupeLoaded') || &compatible || v:version < 700" , GenericStatement "finish" , GenericStatement "endif" , LetStatement { letLexpr = "g:LoupeLoaded" , letValue = "1" } , LetStatement { letLexpr = "s:cpoptions" , letValue = "&cpoptions" } , GenericStatement "set cpoptions&vim" , GenericStatement "if &history < 1000" , GenericStatement "set history=1000 \" Longer search and command history (default is 50)." , GenericStatement "endif" , GenericStatement "if has('extra_search')" , GenericStatement "set hlsearch \" Highlight search strings." , GenericStatement "set incsearch \" Incremental search (\"find as you type\")." , GenericStatement "endif" , GenericStatement "set ignorecase \" Ignore case when searching." , GenericStatement "set shortmess+=s \" Don't echo search wrap messages." , GenericStatement "set smartcase \" Case-sensitive search if search string includes a capital letter." , LetStatement { letLexpr = "s:map" , letValue = "get(g:, 'LoupeClearHighlightMap', 1)" } , GenericStatement "if s:map" , GenericStatement "if !hasmapto('(LoupeClearHighlight)') && maparg('n', 'n') ==# ''" , GenericStatement "nmap n (LoupeClearHighlight)" , GenericStatement "endif" , GenericStatement "endif" , GenericStatement "nnoremap (LoupeClearHighlight) :nohlsearch :call loupe#private#clear_highlight()" , GenericStatement "cabbrev noh (getcmdtype() == ':' && getcmdpos() == 4 ? 'noh call loupe#private#clear_highlight()' : 'noh')" , GenericStatement "cabbrev nohl (getcmdtype() == ':' && getcmdpos() == 5 ? 'nohl call loupe#private#clear_highlight()' : 'nohl')" , GenericStatement "cabbrev nohls (getcmdtype() == ':' && getcmdpos() == 6 ? 'nohls call loupe#private#clear_highlight()' : 'nohls')" , GenericStatement "cabbrev nohlse (getcmdtype() == ':' && getcmdpos() == 7 ? 'nohlse call loupe#private#clear_highlight()' : 'nohlse')" , GenericStatement "cabbrev nohlsea (getcmdtype() == ':' && getcmdpos() == 8 ? 'nohlsea call loupe#private#clear_highlight()' : 'nohlsea')" , GenericStatement "cabbrev nohlsear (getcmdtype() == ':' && getcmdpos() == 9 ? 'nohlsear call loupe#private#clear_highlight()' : 'nohlsear')" , GenericStatement "cabbrev nohlsearc (getcmdtype() == ':' && getcmdpos() == 10 ? 'nohlsearc call loupe#private#clear_highlight()' : 'nohlsearc')" , GenericStatement "cabbrev nohlsearch (getcmdtype() == ':' && getcmdpos() == 11 ? 'nohlsearch call loupe#private#clear_highlight()' : 'nohlsearch')" , FunctionDeclaration { functionBang = False , functionName = "s:MagicString" , functionArguments = ArgumentList [] , functionAttributes = [] , functionBody = [ LetStatement { letLexpr = "s:magic" , letValue = "get(g:, 'LoupeVeryMagic', 1)" } , GenericStatement "return s:magic ? '\\v' : ''" ] } , GenericStatement "nnoremap / loupe#private#prepare_highlight('/' . MagicString())" , GenericStatement "nnoremap ? loupe#private#prepare_highlight('?' . MagicString())" , GenericStatement "xnoremap / loupe#private#prepare_highlight('/' . MagicString())" , GenericStatement "xnoremap ? loupe#private#prepare_highlight('?' . MagicString())" , GenericStatement "if !empty(s:MagicString())" , GenericStatement "cnoremap / loupe#private#very_magic_slash()" , GenericStatement "endif" , LetStatement { letLexpr = "s:center" , letValue = "get(g:, 'LoupeCenterResults', 1)" } , LetStatement { letLexpr = "s:center_string" , letValue = "s:center ? 'zz' : ''" } , GenericStatement "execute 'nnoremap # #' . s:center_string . ':call loupe#private#hlmatch()'" , GenericStatement "execute 'nnoremap * *' . s:center_string . ':call loupe#private#hlmatch()'" , GenericStatement "execute 'nnoremap N N' . s:center_string . ':call loupe#private#hlmatch()'" , GenericStatement "execute 'nnoremap g# g#' . s:center_string . ':call loupe#private#hlmatch()'" , GenericStatement "execute 'nnoremap g* g*' . s:center_string . ':call loupe#private#hlmatch()'" , GenericStatement "execute 'nnoremap n n' . s:center_string . ':call loupe#private#hlmatch()'" , GenericStatement "if has('autocmd') && has('extra_search')" , GenericStatement "augroup LoupeCleanUp" , GenericStatement "autocmd!" , GenericStatement "autocmd WinEnter * :call loupe#private#cleanup()" , GenericStatement "augroup END" , GenericStatement "endif" , LetStatement { letLexpr = "&cpoptions" , letValue = "s:cpoptions" } , UnletStatement { unletBang = False , unletBody = "s:cpoptions" } ] ] , MappingsAnnotation , MappingAnnotation "(LoupeClearHighlight)" , Paragraph [ Plaintext "Loupe" , Whitespace , Plaintext "maps" , Whitespace , Plaintext "n" , Whitespace , Plaintext "to" , Whitespace , Link "(LoupeClearHighlight)" , Plaintext "," , Whitespace , Plaintext "which" , Whitespace , Plaintext "clears" , Whitespace , Plaintext "all" , Whitespace , Plaintext "visible" , Whitespace , Plaintext "highlights" , Whitespace , Plaintext "(like" , Whitespace , Link ":nohighlight" , Whitespace , Plaintext "does)." , Whitespace , Plaintext "To" , Whitespace , Plaintext "use" , Whitespace , Plaintext "an" , Whitespace , Plaintext "alternative" , Whitespace , Plaintext "mapping" , Whitespace , Plaintext "instead," , Whitespace , Plaintext "create" , Whitespace , Plaintext "a" , Whitespace , Plaintext "different" , Whitespace , Plaintext "one" , Whitespace , Plaintext "in" , Whitespace , Plaintext "your" , Whitespace , Link ".vimrc" , Whitespace , Plaintext "instead" , Whitespace , Plaintext "using" , Whitespace , Link ":nmap" , Plaintext ":" ] , Fenced [ "\" Instead of n, use x." , "nmap x (LoupeClearHighlight)" ] , Paragraph [ Plaintext "Note" , Whitespace , Plaintext "that" , Whitespace , Plaintext "Loupe" , Whitespace , Plaintext "will" , Whitespace , Plaintext "not" , Whitespace , Plaintext "try" , Whitespace , Plaintext "to" , Whitespace , Plaintext "set" , Whitespace , Plaintext "up" , Whitespace , Plaintext "its" , Whitespace , Plaintext "n" , Whitespace , Plaintext "mapping" , Whitespace , Plaintext "if" , Whitespace , Plaintext "any" , Whitespace , Plaintext "of" , Whitespace , Plaintext "the" , Whitespace , Plaintext "following" , Whitespace , Plaintext "are" , Whitespace , Plaintext "true:" ] , List [ ListItem [ Plaintext "A" , Whitespace , Plaintext "mapping" , Whitespace , Plaintext "for" , Whitespace , Plaintext "n" , Whitespace , Plaintext "already" , Whitespace , Plaintext "exists." ] , ListItem [ Plaintext "An" , Whitespace , Plaintext "alternative" , Whitespace , Plaintext "mapping" , Whitespace , Plaintext "for" , Whitespace , Link "(LoupeClearHighlight)" , Whitespace , Plaintext "has" , Whitespace , Plaintext "already" , Whitespace , Plaintext "been" , Whitespace , Plaintext "set" , Whitespace , Plaintext "up" , Whitespace , Plaintext "from" , Whitespace , Plaintext "a" , Whitespace , Link ".vimrc" , Plaintext "." ] , ListItem [ Plaintext "The" , Whitespace , Plaintext "mapping" , Whitespace , Plaintext "has" , Whitespace , Plaintext "been" , Whitespace , Plaintext "suppressed" , Whitespace , Plaintext "by" , Whitespace , Plaintext "setting" , Whitespace , Link "g:LoupeClearHighlightMap" , Whitespace , Plaintext "to" , Whitespace , Plaintext "1" , Whitespace , Plaintext "in" , Whitespace , Plaintext "your" , Whitespace , Link ".vimrc" , Plaintext "." ] ] , OptionsAnnotation , OptionAnnotation "g:LoupeHighlightGroup" "string" (Just "IncSearch") , Paragraph [ Plaintext "Specifies" , Whitespace , Plaintext "the" , Whitespace , Link ":highlight" , Whitespace , Plaintext "group" , Whitespace , Plaintext "used" , Whitespace , Plaintext "to" , Whitespace , Plaintext "emphasize" , Whitespace , Plaintext "the" , Whitespace , Plaintext "match" , Whitespace , Plaintext "currently" , Whitespace , Plaintext "under" , Whitespace , Plaintext "the" , Whitespace , Plaintext "cursor" , Whitespace , Plaintext "for" , Whitespace , Plaintext "the" , Whitespace , Plaintext "current" , Whitespace , Plaintext "search" , Whitespace , Plaintext "pattern." , Whitespace , Plaintext "Defaults" , Whitespace , Plaintext "to" , Whitespace , Plaintext "\"IncSearch\"" , Whitespace , Plaintext "(ie." , Whitespace , Link "hl-IncSearch" , Plaintext ")." , Whitespace , Plaintext "For" , Whitespace , Plaintext "example:" ] , Fenced [ "let g:LoupeHighlightGroup='Error'" ] , Paragraph [ Plaintext "To" , Whitespace , Plaintext "prevent" , Whitespace , Plaintext "any" , Whitespace , Plaintext "special" , Whitespace , Plaintext "highlighting" , Whitespace , Plaintext "from" , Whitespace , Plaintext "being" , Whitespace , Plaintext "applied," , Whitespace , Plaintext "set" , Whitespace , Plaintext "this" , Whitespace , Plaintext "option" , Whitespace , Plaintext "to" , Whitespace , Plaintext "\"\"" , Whitespace , Plaintext "(ie." , Whitespace , Plaintext "the" , Whitespace , Plaintext "empty" , Whitespace , Plaintext "string)." ] , OptionAnnotation "g:LoupeLoaded" "any" Nothing , Paragraph [ Plaintext "To" , Whitespace , Plaintext "prevent" , Whitespace , Plaintext "Loupe" , Whitespace , Plaintext "from" , Whitespace , Plaintext "being" , Whitespace , Plaintext "loaded," , Whitespace , Plaintext "set" , Whitespace , Link "g:LoupeLoaded" , Whitespace , Plaintext "to" , Whitespace , Plaintext "any" , Whitespace , Plaintext "value" , Whitespace , Plaintext "in" , Whitespace , Plaintext "your" , Whitespace , Link ".vimrc" , Plaintext "." , Whitespace , Plaintext "For" , Whitespace , Plaintext "example:" ] , Fenced [ "let g:LoupeLoaded=1" ] , OptionAnnotation "g:LoupeClearHighlightMap" "boolean" (Just "1") , Paragraph [ Plaintext "Controls" , Whitespace , Plaintext "whether" , Whitespace , Plaintext "to" , Whitespace , Plaintext "set" , Whitespace , Plaintext "up" , Whitespace , Plaintext "the" , Whitespace , Link "(LoupeClearHighlight)" , Whitespace , Plaintext "mapping." , Whitespace , Plaintext "To" , Whitespace , Plaintext "prevent" , Whitespace , Plaintext "any" , Whitespace , Plaintext "mapping" , Whitespace , Plaintext "from" , Whitespace , Plaintext "being" , Whitespace , Plaintext "configured," , Whitespace , Plaintext "set" , Whitespace , Plaintext "to" , Whitespace , Plaintext "0:" ] , Fenced [ "let g:LoupeClearHighlightMap=0" ] , OptionAnnotation "g:LoupeVeryMagic" "boolean" (Just "1") , Paragraph [ Plaintext "Controls" , Whitespace , Plaintext "whether" , Whitespace , Plaintext "\"very" , Whitespace , Plaintext "magic\"" , Whitespace , Plaintext "pattern" , Whitespace , Plaintext "syntax" , Whitespace , Plaintext "(" , Link "/\\v" , Plaintext ")" , Whitespace , Plaintext "is" , Whitespace , Plaintext "applied" , Whitespace , Plaintext "by" , Whitespace , Plaintext "default." , Whitespace , Plaintext "To" , Whitespace , Plaintext "disable," , Whitespace , Plaintext "set" , Whitespace , Plaintext "to" , Whitespace , Plaintext "0:" ] , Fenced [ "let g:LoupeVeryMagic=0" ] , OptionAnnotation "g:LoupeCenterResults" "boolean" (Just "1") , Paragraph [ Plaintext "Controls" , Whitespace , Plaintext "whether" , Whitespace , Plaintext "the" , Whitespace , Plaintext "match's" , Whitespace , Plaintext "line" , Whitespace , Plaintext "is" , Whitespace , Plaintext "vertically" , Whitespace , Plaintext "centered" , Whitespace , Plaintext "within" , Whitespace , Plaintext "the" , Whitespace , Plaintext "window" , Whitespace , Plaintext "when" , Whitespace , Plaintext "jumping" , Whitespace , Plaintext "(via" , Whitespace , Link "n" , Plaintext "," , Whitespace , Link "N" , Whitespace , Plaintext "etc)." , Whitespace , Plaintext "To" , Whitespace , Plaintext "disable," , Whitespace , Plaintext "set" , Whitespace , Plaintext "to" , Whitespace , Plaintext "0:" ] , Fenced [ "let g:LoupeCenterResults=0" ] , FooterAnnotation , HeadingAnnotation "Overrides" , Paragraph [ Plaintext "Loupe" , Whitespace , Plaintext "sets" , Whitespace , Plaintext "a" , Whitespace , Plaintext "number" , Whitespace , Plaintext "of" , Whitespace , Plaintext "search-related" , Whitespace , Plaintext "Vim" , Whitespace , Plaintext "settings" , Whitespace , Plaintext "to" , Whitespace , Plaintext "reasonable" , Whitespace , Plaintext "defaults" , Whitespace , Plaintext "in" , Whitespace , Plaintext "order" , Whitespace , Plaintext "to" , Whitespace , Plaintext "provide" , Whitespace , Plaintext "a" , Whitespace , Plaintext "good" , Whitespace , Plaintext "\"out" , Whitespace , Plaintext "of" , Whitespace , Plaintext "the" , Whitespace , Plaintext "box\"" , Whitespace , Plaintext "experience:" ] , IndentAnnotation , LinkTargets [ "loupe-history-override" ] , Paragraph [ Plaintext "'history'" ] , Paragraph [ Plaintext "Increased" , Whitespace , Plaintext "to" , Whitespace , Plaintext "1000," , Whitespace , Plaintext "to" , Whitespace , Plaintext "increase" , Whitespace , Plaintext "the" , Whitespace , Plaintext "number" , Whitespace , Plaintext "of" , Whitespace , Plaintext "previous" , Whitespace , Plaintext "searches" , Whitespace , Plaintext "remembered." , Whitespace , Plaintext "Note" , Whitespace , Plaintext "that" , Whitespace , Plaintext "Loupe" , Whitespace , Plaintext "only" , Whitespace , Plaintext "applies" , Whitespace , Plaintext "this" , Whitespace , Plaintext "setting" , Whitespace , Plaintext "if" , Whitespace , Plaintext "the" , Whitespace , Plaintext "current" , Whitespace , Plaintext "value" , Whitespace , Plaintext "of" , Whitespace , Plaintext "'history'" , Whitespace , Plaintext "is" , Whitespace , Plaintext "less" , Whitespace , Plaintext "than" , Whitespace , Plaintext "1000." ] , LinkTargets [ "loupe-hlsearch-override" ] , Paragraph [ Plaintext "'hlsearch'" ] , Paragraph [ Plaintext "Turned" , Whitespace , Plaintext "on" , Whitespace , Plaintext "(when" , Whitespace , Plaintext "there" , Whitespace , Plaintext "is" , Whitespace , Plaintext "a" , Whitespace , Plaintext "previous" , Whitespace , Plaintext "search" , Whitespace , Plaintext "pattern," , Whitespace , Plaintext "highlight" , Whitespace , Plaintext "all" , Whitespace , Plaintext "its" , Whitespace , Plaintext "matches)." ] , LinkTargets [ "loupe-incsearch-override" ] , Paragraph [ Plaintext "'incsearch'" ] , Paragraph [ Plaintext "Turned" , Whitespace , Plaintext "on" , Whitespace , Plaintext "(while" , Whitespace , Plaintext "typing" , Whitespace , Plaintext "a" , Whitespace , Plaintext "search" , Whitespace , Plaintext "command," , Whitespace , Plaintext "show" , Whitespace , Plaintext "where" , Whitespace , Plaintext "the" , Whitespace , Plaintext "pattern" , Whitespace , Plaintext "matches," , Whitespace , Plaintext "as" , Whitespace , Plaintext "it" , Whitespace , Plaintext "was" , Whitespace , Plaintext "typed" , Whitespace , Plaintext "so" , Whitespace , Plaintext "far)." ] , LinkTargets [ "loupe-ignorecase-override" ] , Paragraph [ Plaintext "'ignorecase'" ] , Paragraph [ Plaintext "Turned" , Whitespace , Plaintext "on" , Whitespace , Plaintext "(to" , Whitespace , Plaintext "ignore" , Whitespace , Plaintext "case" , Whitespace , Plaintext "in" , Whitespace , Plaintext "search" , Whitespace , Plaintext "patterns)." ] , LinkTargets [ "loupe-shortmess-override" ] , Paragraph [ Plaintext "'shortmess'" ] , Paragraph [ Plaintext "Adds" , Whitespace , Plaintext "\"s\"," , Whitespace , Plaintext "which" , Whitespace , Plaintext "suppresses" , Whitespace , Plaintext "the" , Whitespace , Plaintext "display" , Whitespace , Plaintext "of" , Whitespace , Plaintext "\"search" , Whitespace , Plaintext "hit" , Whitespace , Plaintext "BOTTOM," , Whitespace , Plaintext "continuing" , Whitespace , Plaintext "at" , Whitespace , Plaintext "TOP\"" , Whitespace , Plaintext "and" , Whitespace , Plaintext "\"search" , Whitespace , Plaintext "hit" , Whitespace , Plaintext "TOP," , Whitespace , Plaintext "continuing" , Whitespace , Plaintext "at" , Whitespace , Plaintext "BOTTOM\"" , Whitespace , Plaintext "messages." ] , LinkTargets [ "loupe-smartcase-override" ] , Paragraph [ Plaintext "'smartcase'" ] , Paragraph [ Plaintext "Turned" , Whitespace , Plaintext "on" , Whitespace , Plaintext "(overrides" , Whitespace , Plaintext "'ignorecase'," , Whitespace , Plaintext "making" , Whitespace , Plaintext "the" , Whitespace , Plaintext "search" , Whitespace , Plaintext "pattern" , Whitespace , Plaintext "case-sensitive" , Whitespace , Plaintext "whenever" , Whitespace , Plaintext "it" , Whitespace , Plaintext "containers" , Whitespace , Plaintext "uppercase" , Whitespace , Plaintext "characters)." ] , DedentAnnotation , Paragraph [ Plaintext "To" , Whitespace , Plaintext "override" , Whitespace , Plaintext "any" , Whitespace , Plaintext "of" , Whitespace , Plaintext "these" , Whitespace , Plaintext "choices," , Whitespace , Plaintext "you" , Whitespace , Plaintext "can" , Whitespace , Plaintext "place" , Whitespace , Plaintext "overrides" , Whitespace , Plaintext "in" , Whitespace , Plaintext "an" , Whitespace , Link "after-directory" , Whitespace , Plaintext "(ie." , Whitespace , Code "~/.vim/after/plugin/loupe.vim" , Plaintext ")." , Whitespace , Plaintext "For" , Whitespace , Plaintext "example:" ] , Fenced [ " \" Override Loupe's 'history' setting from 1000 to 10000." , " set history=10000" , "" , " \" Reset Loupe's 'incsearch' back to Vim default." , " set incsearch&vim" , "" , " \" Remove unwanted 's' from 'shortmess'." , " set shortmess-=s" ] , HeadingAnnotation "Related" , Paragraph [ Plaintext "Just" , Whitespace , Plaintext "as" , Whitespace , Plaintext "Loupe" , Whitespace , Plaintext "aims" , Whitespace , Plaintext "to" , Whitespace , Plaintext "improve" , Whitespace , Plaintext "the" , Whitespace , Plaintext "within-file" , Whitespace , Plaintext "search" , Whitespace , Plaintext "experience," , Whitespace , Plaintext "Ferret" , Whitespace , Plaintext "does" , Whitespace , Plaintext "the" , Whitespace , Plaintext "same" , Whitespace , Plaintext "for" , Whitespace , Plaintext "multi-file" , Whitespace , Plaintext "searching" , Whitespace , Plaintext "and" , Whitespace , Plaintext "replacing:" ] , List [ ListItem [ Plaintext "https://github.com/wincent/ferret" ] ] , HeadingAnnotation "Website" , Paragraph [ Plaintext "The" , Whitespace , Plaintext "official" , Whitespace , Plaintext "Loupe" , Whitespace , Plaintext "source" , Whitespace , Plaintext "code" , Whitespace , Plaintext "repo" , Whitespace , Plaintext "is" , Whitespace , Plaintext "at:" ] , List [ ListItem [ Plaintext "http://git.wincent.com/loupe.git" ] ] , Paragraph [ Plaintext "A" , Whitespace , Plaintext "mirror" , Whitespace , Plaintext "exists" , Whitespace , Plaintext "at:" ] , List [ ListItem [ Plaintext "https://github.com/wincent/loupe" ] ] , Paragraph [ Plaintext "Official" , Whitespace , Plaintext "releases" , Whitespace , Plaintext "are" , Whitespace , Plaintext "listed" , Whitespace , Plaintext "at:" ] , List [ ListItem [ Plaintext "http://www.vim.org/scripts/script.php?script_id=5215" ] ] , HeadingAnnotation "License" , Paragraph [ Plaintext "Copyright" , Whitespace , Plaintext "2015-present" , Whitespace , Plaintext "Greg" , Whitespace , Plaintext "Hurrell." , Whitespace , Plaintext "All" , Whitespace , Plaintext "rights" , Whitespace , Plaintext "reserved." ] , Paragraph [ Plaintext "Redistribution" , Whitespace , Plaintext "and" , Whitespace , Plaintext "use" , Whitespace , Plaintext "in" , Whitespace , Plaintext "source" , Whitespace , Plaintext "and" , Whitespace , Plaintext "binary" , Whitespace , Plaintext "forms," , Whitespace , Plaintext "with" , Whitespace , Plaintext "or" , Whitespace , Plaintext "without" , Whitespace , Plaintext "modification," , Whitespace , Plaintext "are" , Whitespace , Plaintext "permitted" , Whitespace , Plaintext "provided" , Whitespace , Plaintext "that" , Whitespace , Plaintext "the" , Whitespace , Plaintext "following" , Whitespace , Plaintext "conditions" , Whitespace , Plaintext "are" , Whitespace , Plaintext "met:" ] , Paragraph [ Plaintext "1." , Whitespace , Plaintext "Redistributions" , Whitespace , Plaintext "of" , Whitespace , Plaintext "source" , Whitespace , Plaintext "code" , Whitespace , Plaintext "must" , Whitespace , Plaintext "retain" , Whitespace , Plaintext "the" , Whitespace , Plaintext "above" , Whitespace , Plaintext "copyright" , Whitespace , Plaintext "notice," , Whitespace , Plaintext "this" , Whitespace , Plaintext "list" , Whitespace , Plaintext "of" , Whitespace , Plaintext "conditions" , Whitespace , Plaintext "and" , Whitespace , Plaintext "the" , Whitespace , Plaintext "following" , Whitespace , Plaintext "disclaimer." ] , Paragraph [ Plaintext "2." , Whitespace , Plaintext "Redistributions" , Whitespace , Plaintext "in" , Whitespace , Plaintext "binary" , Whitespace , Plaintext "form" , Whitespace , Plaintext "must" , Whitespace , Plaintext "reproduce" , Whitespace , Plaintext "the" , Whitespace , Plaintext "above" , Whitespace , Plaintext "copyright" , Whitespace , Plaintext "notice," , Whitespace , Plaintext "this" , Whitespace , Plaintext "list" , Whitespace , Plaintext "of" , Whitespace , Plaintext "conditions" , Whitespace , Plaintext "and" , Whitespace , Plaintext "the" , Whitespace , Plaintext "following" , Whitespace , Plaintext "disclaimer" , Whitespace , Plaintext "in" , Whitespace , Plaintext "the" , Whitespace , Plaintext "documentation" , Whitespace , Plaintext "and/or" , Whitespace , Plaintext "other" , Whitespace , Plaintext "materials" , Whitespace , Plaintext "provided" , Whitespace , Plaintext "with" , Whitespace , Plaintext "the" , Whitespace , Plaintext "distribution." ] , Paragraph [ Plaintext "THIS" , Whitespace , Plaintext "SOFTWARE" , Whitespace , Plaintext "IS" , Whitespace , Plaintext "PROVIDED" , Whitespace , Plaintext "BY" , Whitespace , Plaintext "THE" , Whitespace , Plaintext "COPYRIGHT" , Whitespace , Plaintext "HOLDERS" , Whitespace , Plaintext "AND" , Whitespace , Plaintext "CONTRIBUTORS" , Whitespace , Plaintext "\"AS" , Whitespace , Plaintext "IS\"" , Whitespace , Plaintext "AND" , Whitespace , Plaintext "ANY" , Whitespace , Plaintext "EXPRESS" , Whitespace , Plaintext "OR" , Whitespace , Plaintext "IMPLIED" , Whitespace , Plaintext "WARRANTIES," , Whitespace , Plaintext "INCLUDING," , Whitespace , Plaintext "BUT" , Whitespace , Plaintext "NOT" , Whitespace , Plaintext "LIMITED" , Whitespace , Plaintext "TO," , Whitespace , Plaintext "THE" , Whitespace , Plaintext "IMPLIED" , Whitespace , Plaintext "WARRANTIES" , Whitespace , Plaintext "OF" , Whitespace , Plaintext "MERCHANTABILITY" , Whitespace , Plaintext "AND" , Whitespace , Plaintext "FITNESS" , Whitespace , Plaintext "FOR" , Whitespace , Plaintext "A" , Whitespace , Plaintext "PARTICULAR" , Whitespace , Plaintext "PURPOSE" , Whitespace , Plaintext "ARE" , Whitespace , Plaintext "DISCLAIMED." , Whitespace , Plaintext "IN" , Whitespace , Plaintext "NO" , Whitespace , Plaintext "EVENT" , Whitespace , Plaintext "SHALL" , Whitespace , Plaintext "THE" , Whitespace , Plaintext "COPYRIGHT" , Whitespace , Plaintext "HOLDERS" , Whitespace , Plaintext "OR" , Whitespace , Plaintext "CONTRIBUTORS" , Whitespace , Plaintext "BE" , Whitespace , Plaintext "LIABLE" , Whitespace , Plaintext "FOR" , Whitespace , Plaintext "ANY" , Whitespace , Plaintext "DIRECT," , Whitespace , Plaintext "INDIRECT," , Whitespace , Plaintext "INCIDENTAL," , Whitespace , Plaintext "SPECIAL," , Whitespace , Plaintext "EXEMPLARY," , Whitespace , Plaintext "OR" , Whitespace , Plaintext "CONSEQUENTIAL" , Whitespace , Plaintext "DAMAGES" , Whitespace , Plaintext "(INCLUDING," , Whitespace , Plaintext "BUT" , Whitespace , Plaintext "NOT" , Whitespace , Plaintext "LIMITED" , Whitespace , Plaintext "TO," , Whitespace , Plaintext "PROCUREMENT" , Whitespace , Plaintext "OF" , Whitespace , Plaintext "SUBSTITUTE" , Whitespace , Plaintext "GOODS" , Whitespace , Plaintext "OR" , Whitespace , Plaintext "SERVICES;" , Whitespace , Plaintext "LOSS" , Whitespace , Plaintext "OF" , Whitespace , Plaintext "USE," , Whitespace , Plaintext "DATA," , Whitespace , Plaintext "OR" , Whitespace , Plaintext "PROFITS;" , Whitespace , Plaintext "OR" , Whitespace , Plaintext "BUSINESS" , Whitespace , Plaintext "INTERRUPTION)" , Whitespace , Plaintext "HOWEVER" , Whitespace , Plaintext "CAUSED" , Whitespace , Plaintext "AND" , Whitespace , Plaintext "ON" , Whitespace , Plaintext "ANY" , Whitespace , Plaintext "THEORY" , Whitespace , Plaintext "OF" , Whitespace , Plaintext "LIABILITY," , Whitespace , Plaintext "WHETHER" , Whitespace , Plaintext "IN" , Whitespace , Plaintext "CONTRACT," , Whitespace , Plaintext "STRICT" , Whitespace , Plaintext "LIABILITY," , Whitespace , Plaintext "OR" , Whitespace , Plaintext "TORT" , Whitespace , Plaintext "(INCLUDING" , Whitespace , Plaintext "NEGLIGENCE" , Whitespace , Plaintext "OR" , Whitespace , Plaintext "OTHERWISE)" , Whitespace , Plaintext "ARISING" , Whitespace , Plaintext "IN" , Whitespace , Plaintext "ANY" , Whitespace , Plaintext "WAY" , Whitespace , Plaintext "OUT" , Whitespace , Plaintext "OF" , Whitespace , Plaintext "THE" , Whitespace , Plaintext "USE" , Whitespace , Plaintext "OF" , Whitespace , Plaintext "THIS" , Whitespace , Plaintext "SOFTWARE," , Whitespace , Plaintext "EVEN" , Whitespace , Plaintext "IF" , Whitespace , Plaintext "ADVISED" , Whitespace , Plaintext "OF" , Whitespace , Plaintext "THE" , Whitespace , Plaintext "POSSIBILITY" , Whitespace , Plaintext "OF" , Whitespace , Plaintext "SUCH" , Whitespace , Plaintext "DAMAGE." ] , HeadingAnnotation "Development" , SubheadingAnnotation "Contributing patches" , Paragraph [ Plaintext "Patches" , Whitespace , Plaintext "can" , Whitespace , Plaintext "be" , Whitespace , Plaintext "sent" , Whitespace , Plaintext "via" , Whitespace , Plaintext "mail" , Whitespace , Plaintext "to" , Whitespace , Plaintext "greg@hurrell.net," , Whitespace , Plaintext "or" , Whitespace , Plaintext "as" , Whitespace , Plaintext "GitHub" , Whitespace , Plaintext "pull" , Whitespace , Plaintext "requests" , Whitespace , Plaintext "at:" , Whitespace , Plaintext "https://github.com/wincent/loupe/pulls" ] , SubheadingAnnotation "Cutting a new release" , Paragraph [ Plaintext "At" , Whitespace , Plaintext "the" , Whitespace , Plaintext "moment" , Whitespace , Plaintext "the" , Whitespace , Plaintext "release" , Whitespace , Plaintext "process" , Whitespace , Plaintext "is" , Whitespace , Plaintext "manual:" ] , List [ ListItem [ Plaintext "Perform" , Whitespace , Plaintext "final" , Whitespace , Plaintext "sanity" , Whitespace , Plaintext "checks" , Whitespace , Plaintext "and" , Whitespace , Plaintext "manual" , Whitespace , Plaintext "testing" ] , ListItem [ Plaintext "Update" , Whitespace , Plaintext "the" , Whitespace , Link "loupe-history" , Whitespace , Plaintext "section" , Whitespace , Plaintext "of" , Whitespace , Plaintext "the" , Whitespace , Plaintext "documentation" ] , ListItem [ Plaintext "Verify" , Whitespace , Plaintext "clean" , Whitespace , Plaintext "work" , Whitespace , Plaintext "tree:" ] ] , Fenced [ "git status" ] , List [ ListItem [ Plaintext "Tag" , Whitespace , Plaintext "the" , Whitespace , Plaintext "release:" ] ] , Fenced [ "git tag -s -m \"$VERSION release\" $VERSION" ] , List [ ListItem [ Plaintext "Publish" , Whitespace , Plaintext "the" , Whitespace , Plaintext "code:" ] ] , Fenced [ "git push origin master --follow-tags" , "git push github master --follow-tags" ] , List [ ListItem [ Plaintext "Produce" , Whitespace , Plaintext "the" , Whitespace , Plaintext "release" , Whitespace , Plaintext "archive:" ] ] , Fenced [ "git archive -o loupe-$VERSION.zip HEAD -- ." ] , List [ ListItem [ Plaintext "Upload" , Whitespace , Plaintext "to" , Whitespace , Plaintext "http://www.vim.org/scripts/script.php?script_id=5215" ] ] , HeadingAnnotation "Authors" , Paragraph [ Plaintext "Loupe" , Whitespace , Plaintext "is" , Whitespace , Plaintext "written" , Whitespace , Plaintext "and" , Whitespace , Plaintext "maintained" , Whitespace , Plaintext "by" , Whitespace , Plaintext "Greg" , Whitespace , Plaintext "Hurrell" , Whitespace , Plaintext "." ] , Paragraph [ Plaintext "The" , Whitespace , Plaintext "original" , Whitespace , Plaintext "idea" , Whitespace , Plaintext "for" , Whitespace , Plaintext "the" , Whitespace , Link "g:LoupeHighlightGroup" , Whitespace , Plaintext "feature" , Whitespace , Plaintext "was" , Whitespace , Plaintext "taken" , Whitespace , Plaintext "from" , Whitespace , Plaintext "Damian" , Whitespace , Plaintext "Conway's" , Whitespace , Plaintext "Vim" , Whitespace , Plaintext "set-up:" ] , List [ ListItem [ Plaintext "https://github.com/thoughtstream/Damian-Conway-s-Vim-Setup/blob/master/plugin/hlnext.vim" ] ] , Paragraph [ Plaintext "Which" , Whitespace , Plaintext "he" , Whitespace , Plaintext "discussed" , Whitespace , Plaintext "in" , Whitespace , Plaintext "his" , Whitespace , Plaintext "\"More" , Whitespace , Plaintext "Instantly" , Whitespace , Plaintext "Better" , Whitespace , Plaintext "Vim\"" , Whitespace , Plaintext "presentation" , Whitespace , Plaintext "at" , Whitespace , Plaintext "OSCON" , Whitespace , Plaintext "2013:" ] , List [ ListItem [ Plaintext "https://www.youtube.com/watch?v=aHm36-na4-4" ] ] , HeadingAnnotation "History" , SubheadingAnnotation "1.0 (28 December 2015)" , List [ ListItem [ Plaintext "Renamed" , Whitespace , Plaintext "the" , Whitespace , Link "LoupeClearHighlight" , Whitespace , Plaintext "mapping" , Whitespace , Plaintext "to" , Whitespace , Link "(LoupeClearHighlight)" , Plaintext "." ] ] , SubheadingAnnotation "0.1 (5 July 2015)" , List [ ListItem [ Plaintext "Initial" , Whitespace , Plaintext "release," , Whitespace , Plaintext "extracted" , Whitespace , Plaintext "from" , Whitespace , Plaintext "my" , Whitespace , Plaintext "dotfiles" , Whitespace , Plaintext "(https://github.com/wincent/wincent)." ] ] ]