tex

package
v0.2.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 14, 2024 License: BSD-3-Clause Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CiteCommands = []string{`\cite`, `\citep`, `\citet`, `\citeNP`, `\citeyearpar`, `\citeyear`, `\citeauthor`, `\citeA`, `\citealp`, `\citeyearNP`, `\parencite`, `\textcite`, `\nptextcite`, `\incite`, `\nopcite`, `\yrcite`, `\yrnopcite`, `\abbrevcite`, `\abbrevincite`}

CiteCommands is a list of latex citation commands (APA style requires many variations). We include all the variations so they show up in completion.

View Source
var LaTeXCommands = []string{
	`\em`,
	`\emph`,
	`\textbf`,
	`\textit`,
	`\texttt`,
	`\textsf`,
	`\textrm`,
	`\tiny`,
	`\scriptsize`,
	`\footnotesize`,
	`\small`,
	`\normalsize`,
	`\large`,
	`\Large`,
	`\LARGE`,
	`\huge`,
	`\Huge`,
	`\begin`,
	`\end`,
	`enumerate`,
	`itemize`,
	`description`,
	`\item`,
	`figure`,
	`table`,
	`tabular`,
	`array`,
	`\hline`,
	`\cline`,
	`\multicolumn`,
	`equation`,
	`center`,
	`\centering`,
	`\verb`,
	`verbatim`,
	`quote`,
	`\section`,
	`\subsection`,
	`\subsubsection`,
	`\paragraph`,
}

LaTeXCommands is a big list of standard commands

View Source
var LaTeXCommandsAll []string

LaTeXCommandsAll concatenates LaTeXCmds and CiteCmds

View Source
var TheTexLang = TexLang{}

TheTexLang is the instance variable providing support for the Go language

Functions

func HasCite

func HasCite(str string) bool

HasCite returns true if string has Prefix in CiteCmds

Types

type TexLang

type TexLang struct {
	Pr *parse.Parser

	// bibliography files that have been loaded, keyed by file path from bibfile metadata stored in filestate
	Bibs bibtex.Files
}

TexLang implements the Lang interface for the Tex / LaTeX language

func (*TexLang) AutoBracket

func (tl *TexLang) AutoBracket(fs *parse.FileStates, bra rune, pos lexer.Pos, curLn []rune) (match, newLine bool)

AutoBracket returns what to do when a user types a starting bracket character (bracket, brace, paren) while typing. pos = position where bra will be inserted, and curLn is the current line match = insert the matching ket, and newLine = insert a new line.

func (*TexLang) CompleteCite

func (tl *TexLang) CompleteCite(fss *parse.FileStates, origStr, str string, pos lexer.Pos) (md complete.Matches)

CompleteCite does completion on citation

func (*TexLang) CompleteEdit

func (tl *TexLang) CompleteEdit(fss *parse.FileStates, text string, cp int, comp complete.Completion, seed string) (ed complete.Edit)

func (*TexLang) CompleteLine

func (tl *TexLang) CompleteLine(fss *parse.FileStates, str string, pos lexer.Pos) (md complete.Matches)

func (*TexLang) FindBibliography

func (tl *TexLang) FindBibliography(pfs *parse.FileState) string

func (*TexLang) HiLine

func (tl *TexLang) HiLine(fss *parse.FileStates, line int, txt []rune) lexer.Line

func (*TexLang) IndentLine

func (tl *TexLang) IndentLine(fs *parse.FileStates, src [][]rune, tags []lexer.Line, ln int, tabSz int) (pInd, delInd, pLn int, ichr indent.Character)

IndentLine returns the indentation level for given line based on previous line's indentation level, and any delta change based on e.g., brackets starting or ending the previous or current line, or other language-specific keywords. See lexer.BracketIndentLine for example. Indent level is in increments of tabSz for spaces, and tabs for tabs. Operates on rune source with markup lex tags per line.

func (*TexLang) LexLine

func (tl *TexLang) LexLine(fs *parse.FileState, line int, txt []rune) lexer.Line

func (*TexLang) Lookup

func (tl *TexLang) Lookup(fss *parse.FileStates, str string, pos lexer.Pos) (ld complete.Lookup)

Lookup is the main api called by completion code in giv/complete.go to lookup item

func (*TexLang) LookupCite

func (tl *TexLang) LookupCite(fss *parse.FileStates, origStr, str string, pos lexer.Pos) (ld complete.Lookup)

LookupCite does lookup on citation

func (*TexLang) OpenBibfile

func (tl *TexLang) OpenBibfile(fss *parse.FileStates, pfs *parse.FileState) error

OpenBibfile attempts to open the /bibliography file. Sets meta data "bibfile" to resulting file if found, and deletes it if not.

func (*TexLang) ParseDir

func (tl *TexLang) ParseDir(fs *parse.FileState, path string, opts parse.LangDirOpts) *syms.Symbol

func (*TexLang) ParseFile

func (tl *TexLang) ParseFile(fss *parse.FileStates, txt []byte)

func (*TexLang) ParseLine

func (tl *TexLang) ParseLine(fs *parse.FileState, line int) *parse.FileState

func (*TexLang) Parser

func (tl *TexLang) Parser() *parse.Parser

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL