docvim-0.3.1.2: tests/fixtures/integration/pinnacle/golden/ast.golden
Project
[ DocBlock
[ PluginAnnotation
"Pinnacle" "Highlight group manipulation for Vim"
, TOC
[ "Intro"
, "Installation"
, "Website"
, "License"
, "Development"
, "Authors"
, "History"
]
]
, HeadingAnnotation "Intro"
, Paragraph
[ Plaintext "Pinnacle"
, Whitespace
, Plaintext "provides"
, Whitespace
, Plaintext "functions"
, Whitespace
, Plaintext "for"
, Whitespace
, Plaintext "manipulating"
, Whitespace
, Link ":highlight"
, Whitespace
, Plaintext "groups."
]
, HeadingAnnotation "Installation"
, Paragraph
[ Plaintext "To"
, Whitespace
, Plaintext "install"
, Whitespace
, Plaintext "Pinnacle,"
, 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 "vim-docvim"
, 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/pinnacle.git ~/.vim/bundle/pinnacle"
]
, 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/pinnacle.git ~/vim/bundle/pinnacle"
, "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()" ]
, HeadingAnnotation "Website"
, Paragraph
[ Plaintext "The"
, Whitespace
, Plaintext "official"
, Whitespace
, Plaintext "Pinnacle"
, Whitespace
, Plaintext "source"
, Whitespace
, Plaintext "code"
, Whitespace
, Plaintext "repo"
, Whitespace
, Plaintext "is"
, Whitespace
, Plaintext "at:"
]
, Paragraph [ Plaintext "http://git.wincent.com/pinnacle.git" ]
, Paragraph
[ Plaintext "Mirrors"
, Whitespace
, Plaintext "exist"
, Whitespace
, Plaintext "at:"
]
, List
[ ListItem [ Plaintext "https://github.com/wincent/pinnacle" ]
, ListItem [ Plaintext "https://gitlab.com/wincent/pinnacle" ]
, ListItem [ Plaintext "https://bitbucket.org/ghurrell/pinnacle" ]
]
, Paragraph
[ Plaintext "Official"
, Whitespace
, Plaintext "releases"
, Whitespace
, Plaintext "are"
, Whitespace
, Plaintext "listed"
, Whitespace
, Plaintext "at:"
]
, Paragraph
[ Plaintext "http://www.vim.org/scripts/script.php?script_id=5360"
]
, HeadingAnnotation "License"
, Paragraph
[ Plaintext "Copyright"
, Whitespace
, Plaintext "(c)"
, Whitespace
, Plaintext "2016-present"
, Whitespace
, Plaintext "Greg"
, Whitespace
, Plaintext "Hurrell"
]
, Paragraph
[ Plaintext "Permission"
, Whitespace
, Plaintext "is"
, Whitespace
, Plaintext "hereby"
, Whitespace
, Plaintext "granted,"
, Whitespace
, Plaintext "free"
, Whitespace
, Plaintext "of"
, Whitespace
, Plaintext "charge,"
, Whitespace
, Plaintext "to"
, Whitespace
, Plaintext "any"
, Whitespace
, Plaintext "person"
, Whitespace
, Plaintext "obtaining"
, Whitespace
, Plaintext "a"
, Whitespace
, Plaintext "copy"
, Whitespace
, Plaintext "of"
, Whitespace
, Plaintext "this"
, Whitespace
, Plaintext "software"
, Whitespace
, Plaintext "and"
, Whitespace
, Plaintext "associated"
, Whitespace
, Plaintext "documentation"
, Whitespace
, Plaintext "files"
, Whitespace
, Plaintext "(the"
, Whitespace
, Plaintext "\"Software\"),"
, Whitespace
, Plaintext "to"
, Whitespace
, Plaintext "deal"
, Whitespace
, Plaintext "in"
, Whitespace
, Plaintext "the"
, Whitespace
, Plaintext "Software"
, Whitespace
, Plaintext "without"
, Whitespace
, Plaintext "restriction,"
, Whitespace
, Plaintext "including"
, Whitespace
, Plaintext "without"
, Whitespace
, Plaintext "limitation"
, Whitespace
, Plaintext "the"
, Whitespace
, Plaintext "rights"
, Whitespace
, Plaintext "to"
, Whitespace
, Plaintext "use,"
, Whitespace
, Plaintext "copy,"
, Whitespace
, Plaintext "modify,"
, Whitespace
, Plaintext "merge,"
, Whitespace
, Plaintext "publish,"
, Whitespace
, Plaintext "distribute,"
, Whitespace
, Plaintext "sublicense,"
, Whitespace
, Plaintext "and/or"
, Whitespace
, Plaintext "sell"
, Whitespace
, Plaintext "copies"
, Whitespace
, Plaintext "of"
, Whitespace
, Plaintext "the"
, Whitespace
, Plaintext "Software,"
, Whitespace
, Plaintext "and"
, Whitespace
, Plaintext "to"
, Whitespace
, Plaintext "permit"
, Whitespace
, Plaintext "persons"
, Whitespace
, Plaintext "to"
, Whitespace
, Plaintext "whom"
, Whitespace
, Plaintext "the"
, Whitespace
, Plaintext "Software"
, Whitespace
, Plaintext "is"
, Whitespace
, Plaintext "furnished"
, Whitespace
, Plaintext "to"
, Whitespace
, Plaintext "do"
, Whitespace
, Plaintext "so,"
, Whitespace
, Plaintext "subject"
, Whitespace
, Plaintext "to"
, Whitespace
, Plaintext "the"
, Whitespace
, Plaintext "following"
, Whitespace
, Plaintext "conditions:"
]
, Paragraph
[ Plaintext "The"
, Whitespace
, Plaintext "above"
, Whitespace
, Plaintext "copyright"
, Whitespace
, Plaintext "notice"
, Whitespace
, Plaintext "and"
, Whitespace
, Plaintext "this"
, Whitespace
, Plaintext "permission"
, Whitespace
, Plaintext "notice"
, Whitespace
, Plaintext "shall"
, Whitespace
, Plaintext "be"
, Whitespace
, Plaintext "included"
, Whitespace
, Plaintext "in"
, Whitespace
, Plaintext "all"
, Whitespace
, Plaintext "copies"
, Whitespace
, Plaintext "or"
, Whitespace
, Plaintext "substantial"
, Whitespace
, Plaintext "portions"
, Whitespace
, Plaintext "of"
, Whitespace
, Plaintext "the"
, Whitespace
, Plaintext "Software."
]
, Paragraph
[ Plaintext "THE"
, Whitespace
, Plaintext "SOFTWARE"
, Whitespace
, Plaintext "IS"
, Whitespace
, Plaintext "PROVIDED"
, Whitespace
, Plaintext "\"AS"
, Whitespace
, Plaintext "IS\","
, Whitespace
, Plaintext "WITHOUT"
, Whitespace
, Plaintext "WARRANTY"
, Whitespace
, Plaintext "OF"
, Whitespace
, Plaintext "ANY"
, Whitespace
, Plaintext "KIND,"
, Whitespace
, Plaintext "EXPRESS"
, Whitespace
, Plaintext "OR"
, Whitespace
, Plaintext "IMPLIED,"
, Whitespace
, Plaintext "INCLUDING"
, Whitespace
, Plaintext "BUT"
, Whitespace
, Plaintext "NOT"
, Whitespace
, Plaintext "LIMITED"
, Whitespace
, Plaintext "TO"
, Whitespace
, Plaintext "THE"
, Whitespace
, Plaintext "WARRANTIES"
, Whitespace
, Plaintext "OF"
, Whitespace
, Plaintext "MERCHANTABILITY,"
, Whitespace
, Plaintext "FITNESS"
, Whitespace
, Plaintext "FOR"
, Whitespace
, Plaintext "A"
, Whitespace
, Plaintext "PARTICULAR"
, Whitespace
, Plaintext "PURPOSE"
, Whitespace
, Plaintext "AND"
, Whitespace
, Plaintext "NONINFRINGEMENT."
, Whitespace
, Plaintext "IN"
, Whitespace
, Plaintext "NO"
, Whitespace
, Plaintext "EVENT"
, Whitespace
, Plaintext "SHALL"
, Whitespace
, Plaintext "THE"
, Whitespace
, Plaintext "AUTHORS"
, Whitespace
, Plaintext "OR"
, Whitespace
, Plaintext "COPYRIGHT"
, Whitespace
, Plaintext "HOLDERS"
, Whitespace
, Plaintext "BE"
, Whitespace
, Plaintext "LIABLE"
, Whitespace
, Plaintext "FOR"
, Whitespace
, Plaintext "ANY"
, Whitespace
, Plaintext "CLAIM,"
, Whitespace
, Plaintext "DAMAGES"
, Whitespace
, Plaintext "OR"
, Whitespace
, Plaintext "OTHER"
, Whitespace
, Plaintext "LIABILITY,"
, Whitespace
, Plaintext "WHETHER"
, Whitespace
, Plaintext "IN"
, Whitespace
, Plaintext "AN"
, Whitespace
, Plaintext "ACTION"
, Whitespace
, Plaintext "OF"
, Whitespace
, Plaintext "CONTRACT,"
, Whitespace
, Plaintext "TORT"
, Whitespace
, Plaintext "OR"
, Whitespace
, Plaintext "OTHERWISE,"
, Whitespace
, Plaintext "ARISING"
, Whitespace
, Plaintext "FROM,"
, Whitespace
, Plaintext "OUT"
, Whitespace
, Plaintext "OF"
, Whitespace
, Plaintext "OR"
, Whitespace
, Plaintext "IN"
, Whitespace
, Plaintext "CONNECTION"
, Whitespace
, Plaintext "WITH"
, Whitespace
, Plaintext "THE"
, Whitespace
, Plaintext "SOFTWARE"
, Whitespace
, Plaintext "OR"
, Whitespace
, Plaintext "THE"
, Whitespace
, Plaintext "USE"
, Whitespace
, Plaintext "OR"
, Whitespace
, Plaintext "OTHER"
, Whitespace
, Plaintext "DEALINGS"
, Whitespace
, Plaintext "IN"
, Whitespace
, Plaintext "THE"
, Whitespace
, Plaintext "SOFTWARE."
]
, 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/pinnacle/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 "pinnacle-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 vim-docvim-$VERSION.zip HEAD -- ." ]
, List
[ ListItem
[ Plaintext "Upload"
, Whitespace
, Plaintext "to"
, Whitespace
, Plaintext "http://www.vim.org/scripts/script.php?script_id=5360"
]
]
, HeadingAnnotation "Authors"
, Paragraph
[ Plaintext "Pinnacle"
, Whitespace
, Plaintext "is"
, Whitespace
, Plaintext "written"
, Whitespace
, Plaintext "and"
, Whitespace
, Plaintext "maintained"
, Whitespace
, Plaintext "by"
, Whitespace
, Plaintext "Greg"
, Whitespace
, Plaintext "Hurrell"
, Whitespace
, Plaintext "<greg@hurrell.net>."
]
, HeadingAnnotation "History"
, SubheadingAnnotation "0.1 (30 March 2016)"
, List
[ ListItem
[ Plaintext "Initial" , Whitespace , Plaintext "release." ]
]
, Project
[ Unit
[ FunctionDeclaration
{ functionBang = True
, functionName = "pinnacle#sub_newlines"
, functionArguments = ArgumentList [ Argument "string" ]
, functionAttributes = [ "abort" ]
, functionBody =
[ GenericStatement "return tr(a:string, \"\\r\\n\", ' ')" ]
}
, FunctionDeclaration
{ functionBang = True
, functionName = "pinnacle#capture_line"
, functionArguments = ArgumentList [ Argument "command" ]
, functionAttributes = [ "abort" ]
, functionBody =
[ GenericStatement "redir => l:capture"
, GenericStatement "execute a:command"
, GenericStatement "redir END"
, GenericStatement "return pinnacle#sub_newlines(l:capture)"
]
}
, FunctionDeclaration
{ functionBang = True
, functionName = "pinnacle#capture_highlight"
, functionArguments = ArgumentList [ Argument "group" ]
, functionAttributes = [ "abort" ]
, functionBody =
[ GenericStatement
"return pinnacle#capture_line('0verbose silent highlight ' . a:group)"
]
}
, FunctionDeclaration
{ functionBang = True
, functionName = "pinnacle#extract_highlight"
, functionArguments = ArgumentList [ Argument "group" ]
, functionAttributes = [ "abort" ]
, functionBody =
[ LetStatement
{ letLexpr = "l:group "
, letValue = "pinnacle#capture_highlight(a:group)"
}
, GenericStatement "while l:group =~# 'links to'"
, LetStatement
{ letLexpr = "l:index "
, letValue = "stridx(l:group, 'links to') + len('links to')"
}
, LetStatement
{ letLexpr = "l:linked "
, letValue = "strpart(l:group, l:index + 1)"
}
, LetStatement
{ letLexpr = "l:group "
, letValue = "pinnacle#capture_highlight(l:linked)"
}
, GenericStatement "endwhile"
, LetStatement
{ letLexpr = "l:matches "
, letValue = "matchlist(l:group, '\\<xxx\\>\\s\\+\\(.*\\)')"
}
, LetStatement
{ letLexpr = "l:original " , letValue = "l:matches[1]" }
, GenericStatement "return l:original"
]
}
, FunctionDeclaration
{ functionBang = True
, functionName = "pinnacle#italicize"
, functionArguments = ArgumentList [ Argument "group" ]
, functionAttributes = [ "abort" ]
, functionBody =
[ GenericStatement "return pinnacle#decorate('italic', a:group)" ]
}
, FunctionDeclaration
{ functionBang = True
, functionName = "pinnacle#embolden"
, functionArguments = ArgumentList [ Argument "group" ]
, functionAttributes = [ "abort" ]
, functionBody =
[ GenericStatement "return pinnacle#decorate('bold', a:group)" ]
}
, FunctionDeclaration
{ functionBang = True
, functionName = "pinnacle#decorate"
, functionArguments =
ArgumentList [ Argument "style" , Argument "group" ]
, functionAttributes = [ "abort" ]
, functionBody =
[ LetStatement
{ letLexpr = "l:original "
, letValue = "pinnacle#extract_highlight(a:group)"
}
, GenericStatement "for l:lhs in ['gui', 'term', 'cterm']"
, LetStatement
{ letLexpr = "l:matches " , letValue = "matchlist(" }
, GenericStatement
"\\ l:original, '^\\([^ ]\\+ \\)\\?' . '\\(' . l:lhs . '=[^ ]\\+\\)' . '\\( .\\+\\)\\?$' )"
, GenericStatement "if l:matches == []"
, LetStatement
{ letLexpr = "l:original ."
, letValue = "' ' . l:lhs . '=' . a:style"
}
, GenericStatement "else"
, LetStatement
{ letLexpr = "l:start " , letValue = "l:matches[1]" }
, LetStatement
{ letLexpr = "l:value " , letValue = "l:matches[2]" }
, LetStatement { letLexpr = "l:end " , letValue = "l:matches[3]" }
, GenericStatement "if l:value =~# '.*' . a:style . '.*'"
, GenericStatement "continue"
, GenericStatement "else"
, LetStatement
{ letLexpr = "l:original "
, letValue = "l:start . l:value . ',' . a:style . l:end"
}
, GenericStatement "endif"
, GenericStatement "endif"
, GenericStatement "endfor"
, GenericStatement "return pinnacle#sub_newlines(l:original)"
]
}
]
]
]