.gitignore added
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.1.1-0.20210319172145-bda8f5cee399 / present / doc.go
diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.1.1-0.20210319172145-bda8f5cee399/present/doc.go b/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.1.1-0.20210319172145-bda8f5cee399/present/doc.go
new file mode 100644 (file)
index 0000000..b1e3fc4
--- /dev/null
@@ -0,0 +1,361 @@
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+/*
+Package present implements parsing and rendering of present files,
+which can be slide presentations as in golang.org/x/tools/cmd/present
+or articles as in golang.org/x/blog (the Go blog).
+
+File Format
+
+Present files begin with a header giving the title of the document
+and other metadata, which looks like:
+
+       # Title of document
+       Subtitle of document
+       15:04 2 Jan 2006
+       Tags: foo, bar, baz
+       Summary: This is a great document you want to read.
+       OldURL: former-path-for-this-doc
+
+The "# " prefix before the title indicates that this is
+a Markdown-enabled present file: it uses
+Markdown for text markup in the body of the file.
+If the "# " prefix is missing, the file uses
+legacy present markup, described below.
+
+The date line may be written without a time:
+       2 Jan 2006
+In this case, the time will be interpreted as 10am UTC on that date.
+
+The tags line is a comma-separated list of tags that may be used to categorize
+the document.
+
+The summary line gives a short summary used in blog feeds.
+
+The old URL line, which may be repeated, gives an older (perhaps relative) URL
+for this document.
+A server might use these to generate appropriate redirects.
+
+Only the title is required;
+the subtitle, date, tags, summary, and old URL lines are optional.
+In Markdown-enabled present, the summary defaults to being empty.
+In legacy present, the summary defaults to the first paragraph of text.
+
+After the header come zero or more author blocks, like this:
+
+       Author Name
+       Job title, Company
+       joe@example.com
+       https://url/
+       @twitter_name
+
+The first line of the author block is conventionally the author name.
+Otherwise, the author section may contain a mixture of text, twitter names, and links.
+For slide presentations, only the plain text lines will be displayed on the
+first slide.
+
+If multiple author blocks are listed, each new block must be preceded
+by its own blank line.
+
+After the author blocks come the presentation slides or article sections,
+which can in turn have subsections.
+In Markdown-enabled present files, each slide or section begins with a "##" header line,
+subsections begin with a "###" header line, and so on.
+In legacy present files, each slide or section begins with a "*" header line,
+subsections begin with a "**" header line, and so on.
+
+In addition to the marked-up text in a section (or subsection),
+a present file can contain present command invocations, each of which begins
+with a dot, as in:
+
+       .code x.go /^func main/,/^}/
+       .play y.go
+       .image image.jpg
+       .background image.jpg
+       .iframe https://foo
+       .link https://foo label
+       .html file.html
+       .caption _Gopher_ by [[https://instagram.com/reneefrench][Renee French]]
+
+Other than the commands, the text in a section is interpreted
+either as Markdown or as legacy present markup.
+
+Markdown Syntax
+
+Markdown typically means the generic name for a family of similar markup languages.
+The specific variant used in present is CommonMark.
+See https://commonmark.org/help/tutorial/ for a quick tutorial.
+
+In Markdown-enabled present,
+section headings can end in {#name} to set the HTML anchor ID for the heading to "name".
+
+Lines beginning with "//" (outside of code blocks, of course)
+are treated as present comments and have no effect.
+
+Lines beginning with ": " are treated as speaker notes, described below.
+
+Example:
+
+       # Title of Talk
+
+       My Name
+       9 Mar 2020
+       me@example.com
+
+       ## Title of Slide or Section (must begin with ##)
+
+       Some Text
+
+       ### Subsection {#anchor}
+
+       - bullets
+       - more bullets
+       - a bullet continued
+         on the next line
+
+       #### Sub-subsection
+
+       Some More text
+
+               Preformatted text (code block)
+               is indented (by one tab, or four spaces)
+
+       Further Text, including command invocations.
+
+       ## Section 2: Example formatting {#fmt}
+
+       Formatting:
+
+       _italic_
+       // A comment that is completely ignored.
+       : Speaker notes.
+       **bold**
+       `program`
+       Markup—_especially italic text_—can easily be overused.
+       _Why use scoped\_ptr_? Use plain **\*ptr** instead.
+
+       Visit [the Go home page](https://golang.org/).
+
+Legacy Present Syntax
+
+Compared to Markdown,
+in legacy present
+slides/sections use "*" instead of "##",
+whole-line comments begin with "#" instead of "//",
+bullet lists can only contain single (possibly wrapped) text lines,
+and the font styling and link syntaxes are subtly different.
+
+Example:
+
+       Title of Talk
+
+       My Name
+       1 Jan 2013
+       me@example.com
+
+       * Title of Slide or Section (must begin with *)
+
+       Some Text
+
+       ** Subsection
+
+       - bullets
+       - more bullets
+       - a bullet continued
+         on the next line (indented at least one space)
+
+       *** Sub-subsection
+
+       Some More text
+
+         Preformatted text (code block)
+         is indented (however you like)
+
+       Further Text, including command invocations.
+
+       * Section 2: Example formatting
+
+       Formatting:
+
+       _italic_
+       *bold*
+       `program`
+       Markup—_especially_italic_text_—can easily be overused.
+       _Why_use_scoped__ptr_? Use plain ***ptr* instead.
+
+       Visit [[https://golang.org][the Go home page]].
+
+Within the input for plain text or lists, text bracketed by font
+markers will be presented in italic, bold, or program font.
+Marker characters are _ (italic), * (bold) and ` (program font).
+An opening marker must be preceded by a space or punctuation
+character or else be at start of a line; similarly, a closing
+marker must be followed by a space or punctuation character or
+else be at the end of a line. Unmatched markers appear as plain text.
+There must be no spaces between markers. Within marked text,
+a single marker character becomes a space and a doubled single
+marker quotes the marker character.
+
+Links can be included in any text with the form [[url][label]], or
+[[url]] to use the URL itself as the label.
+
+Command Invocations
+
+A number of special commands are available through invocations
+in the input text. Each such invocation contains a period as the
+first character on the line, followed immediately by the name of
+the function, followed by any arguments. A typical invocation might
+be
+
+       .play demo.go /^func show/,/^}/
+
+(except that the ".play" must be at the beginning of the line and
+not be indented as in this comment.)
+
+Here follows a description of the functions:
+
+code:
+
+Injects program source into the output by extracting code from files
+and injecting them as HTML-escaped <pre> blocks.  The argument is
+a file name followed by an optional address that specifies what
+section of the file to display. The address syntax is similar in
+its simplest form to that of ed, but comes from sam and is more
+general. See
+       https://plan9.io/sys/doc/sam/sam.html Table II
+for full details. The displayed block is always rounded out to a
+full line at both ends.
+
+If no pattern is present, the entire file is displayed.
+
+Any line in the program that ends with the four characters
+       OMIT
+is deleted from the source before inclusion, making it easy
+to write things like
+       .code test.go /START OMIT/,/END OMIT/
+to find snippets like this
+       tedious_code = boring_function()
+       // START OMIT
+       interesting_code = fascinating_function()
+       // END OMIT
+and see only this:
+       interesting_code = fascinating_function()
+
+Also, inside the displayed text a line that ends
+       // HL
+will be highlighted in the display. A highlighting mark may have a
+suffix word, such as
+       // HLxxx
+Such highlights are enabled only if the code invocation ends with
+"HL" followed by the word:
+       .code test.go /^type Foo/,/^}/ HLxxx
+
+The .code function may take one or more flags immediately preceding
+the filename. This command shows test.go in an editable text area:
+       .code -edit test.go
+This command shows test.go with line numbers:
+       .code -numbers test.go
+
+play:
+
+The function "play" is the same as "code" but puts a button
+on the displayed source so the program can be run from the browser.
+Although only the selected text is shown, all the source is included
+in the HTML output so it can be presented to the compiler.
+
+link:
+
+Create a hyperlink. The syntax is 1 or 2 space-separated arguments.
+The first argument is always the HTTP URL.  If there is a second
+argument, it is the text label to display for this link.
+
+       .link https://golang.org golang.org
+
+image:
+
+The template uses the function "image" to inject picture files.
+
+The syntax is simple: 1 or 3 space-separated arguments.
+The first argument is always the file name.
+If there are more arguments, they are the height and width;
+both must be present, or substituted with an underscore.
+Replacing a dimension argument with the underscore parameter
+preserves the aspect ratio of the image when scaling.
+
+       .image images/betsy.jpg 100 200
+       .image images/janet.jpg _ 300
+
+video:
+
+The template uses the function "video" to inject video files.
+
+The syntax is simple: 2 or 4 space-separated arguments.
+The first argument is always the file name.
+The second argument is always the file content-type.
+If there are more arguments, they are the height and width;
+both must be present, or substituted with an underscore.
+Replacing a dimension argument with the underscore parameter
+preserves the aspect ratio of the video when scaling.
+
+       .video videos/evangeline.mp4 video/mp4 400 600
+
+       .video videos/mabel.ogg video/ogg 500 _
+
+background:
+
+The template uses the function "background" to set the background image for
+a slide.  The only argument is the file name of the image.
+
+       .background images/susan.jpg
+
+caption:
+
+The template uses the function "caption" to inject figure captions.
+
+The text after ".caption" is embedded in a figcaption element after
+processing styling and links as in standard text lines.
+
+       .caption _Gopher_ by [[https://instagram.com/reneefrench][Renee French]]
+
+iframe:
+
+The function "iframe" injects iframes (pages inside pages).
+Its syntax is the same as that of image.
+
+html:
+
+The function html includes the contents of the specified file as
+unescaped HTML. This is useful for including custom HTML elements
+that cannot be created using only the slide format.
+It is your responsibility to make sure the included HTML is valid and safe.
+
+       .html file.html
+
+Presenter Notes
+
+Lines that begin with ": " are treated as presenter notes,
+in both Markdown and legacy present syntax.
+By default, presenter notes are collected but ignored.
+
+When running the present command with -notes,
+typing 'N' in your browser displaying your slides
+will create a second window displaying the notes.
+The second window is completely synced with the main
+window, except that presenter notes are only visible in the second window.
+
+Notes may appear anywhere within the slide text. For example:
+
+       * Title of slide
+
+       Some text.
+
+       : Presenter notes (first paragraph)
+
+       Some more text.
+
+       : Presenter notes (subsequent paragraph(s))
+
+*/
+package present // import "golang.org/x/tools/present"