mirror of
https://github.com/lucaspalomodevelop/JSSTE_Doku.git
synced 2026-03-12 23:37:21 +00:00
221 lines
7.3 KiB
TeX
221 lines
7.3 KiB
TeX
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
|
|
\ProvidesPackage{newcode}[2021/12/17 Custom Package]
|
|
\usepackage{textcomp} % for upquote
|
|
|
|
|
|
\RequirePackage{listings}
|
|
\RequirePackage{xcolor}
|
|
|
|
% Requires package: color.
|
|
\definecolor{lightgray}{rgb}{.9,.9,.9}
|
|
\definecolor{darkgray}{rgb}{.4,.4,.4}
|
|
\definecolor{purple}{rgb}{0.65, 0.12, 0.82}
|
|
\definecolor{red}{rgb}{.9,0.2,0.1}
|
|
\definecolor{blue}{rgb}{0,0,1}
|
|
\definecolor{mediumgray}{rgb}{0.3, 0.4, 0.4}
|
|
\definecolor{mediumblue}{rgb}{0.0, 0.0, 0.8}
|
|
\definecolor{forestgreen}{rgb}{0.13, 0.55, 0.13}
|
|
\definecolor{darkviolet}{rgb}{0.58, 0.0, 0.83}
|
|
\definecolor{royalblue}{rgb}{0.25, 0.41, 0.88}
|
|
\definecolor{crimson}{rgb}{0.86, 0.8, 0.24}
|
|
\definecolor{delim}{RGB}{20,105,176}
|
|
% \definecolor{numb}{RGB}{106, 109, 32}
|
|
\definecolor{string}{rgb}{0.64,0.08,0.08}
|
|
\definecolor{eclipseStrings}{RGB}{42,0.0,255}
|
|
\definecolor{eclipseKeywords}{RGB}{127,0,85}
|
|
\colorlet{numb}{magenta!60!black}
|
|
|
|
\lstset{
|
|
backgroundcolor=\color{white}, % choose the background color; you must add \usepackage{color} or \usepackage{xcolor}; should come as last argument
|
|
basicstyle=\footnotesize, % the size of the fonts that are used for the code
|
|
breakatwhitespace=false,
|
|
columns=fullflexible, % sets if automatic breaks should only happen at whitespace
|
|
breaklines=true, % sets automatic line breaking
|
|
breakatwhitespace=false,
|
|
captionpos=b, % sets the caption-position to bottom
|
|
commentstyle=\color{forestgreen}, % comment style
|
|
deletekeywords={...}, % if you want to delete keywords from the given language
|
|
escapeinside={\%*}{*)}, % if you want to add LaTeX within your code
|
|
extendedchars=true, % lets you use non-ASCII characters; for 8-bits encodings only, does not work with UTF-8
|
|
firstnumber=1, % start line enumeration with line 1000
|
|
frame=single, % adds a frame around the code
|
|
keepspaces=true, % keeps spaces in text, useful for keeping indentation of code (possibly needs columns=flexible)
|
|
keywordstyle=\color{blue}, % keyword style
|
|
language=Octave, % the language of the code
|
|
morekeywords={*,...}, % if you want to add more keywords to the set
|
|
numbers=left, % where to put the line-numbers; possible values are (none, left, right)
|
|
numbersep=5pt, % how far the line-numbers are from the code
|
|
numberstyle=\tiny\color{mediumgray}, % the style that is used for the line-numbers
|
|
rulecolor=\color{black}, % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. comments (green here))
|
|
showspaces=false, % show spaces everywhere adding particular underscores; it overrides 'showstringspaces'
|
|
showstringspaces=false, % underline spaces within strings only
|
|
showtabs=false, % show tabs within strings adding particular underscores
|
|
stepnumber=1, % the step between two line-numbers. If it's 1, each line will be numbered
|
|
stringstyle=\color{forestgreen}, % string literal style
|
|
tabsize=2, % sets default tabsize to 2 spaces
|
|
title=\lstname, % show the filename of files included with \lstinputlisting; also try caption instead of title
|
|
texcl=true
|
|
}
|
|
% lstset{basicstyle=\footnotesize\ttfamily,breaklines=true}
|
|
|
|
|
|
%
|
|
% ECMAScript 2015 (ES6) definition by Gary Hammock
|
|
%
|
|
|
|
\lstdefinelanguage[ECMAScript2015]{JavaScript}[]{JavaScript}{
|
|
morekeywords=[1]{await, async, case, catch, class, const, default, do,
|
|
enum, export, extends, finally, from, implements, import, instanceof,
|
|
let, static, super, switch, throw, try},
|
|
morestring=[b]` % Interpolation strings.
|
|
}
|
|
|
|
|
|
%
|
|
% JavaScript version 1.1 by Gary Hammock
|
|
%
|
|
% Reference:
|
|
% B. Eich and C. Rand Mckinney, "JavaScript Language Specification
|
|
% (Preliminary Draft)", JavaScript 1.1. 1996-11-18. [Online]
|
|
% http://hepunx.rl.ac.uk/~adye/jsspec11/titlepg2.htm
|
|
%
|
|
|
|
\lstdefinelanguage{JavaScript}{
|
|
morekeywords=[1]{break, continue, delete, else, for, function, if, in,
|
|
new, return, this, typeof, var, void, while, with},
|
|
% Literals, primitive types, and reference types.
|
|
morekeywords=[2]{false, null, true, boolean, number, undefined,
|
|
Array, Boolean, Date, Math, Number, String, Object},
|
|
% Built-ins.
|
|
morekeywords=[3]{eval, parseInt, parseFloat, escape, unescape},
|
|
sensitive,
|
|
morecomment=[s]{/*}{*/},
|
|
morecomment=[l]//,
|
|
morecomment=[s]{/**}{*/}, % JavaDoc style comments
|
|
morestring=[b]',
|
|
morestring=[b]"
|
|
}[keywords, comments, strings]
|
|
|
|
|
|
\lstalias[]{ES6}[ECMAScript2015]{JavaScript}
|
|
|
|
|
|
|
|
\lstdefinestyle{JSES6Base}{
|
|
backgroundcolor=\color{white},
|
|
basicstyle=\ttfamily,
|
|
breakatwhitespace=false,
|
|
breaklines=false,
|
|
captionpos=b,
|
|
columns=fullflexible,
|
|
commentstyle=\color{mediumgray}\upshape,
|
|
emph={},
|
|
emphstyle=\color{crimson},
|
|
extendedchars=true, % requires inputenc
|
|
fontadjust=true,
|
|
frame=single,
|
|
identifierstyle=\color{black},
|
|
keepspaces=true,
|
|
keywordstyle=\color{mediumblue},
|
|
keywordstyle={[2]\color{darkviolet}},
|
|
keywordstyle={[3]\color{royalblue}},
|
|
numbers=left,
|
|
numbersep=5pt,
|
|
numberstyle=\tiny\color{black},
|
|
rulecolor=\color{black},
|
|
showlines=true,
|
|
showspaces=false,
|
|
showstringspaces=false,
|
|
showtabs=false,
|
|
stringstyle=\color{forestgreen},
|
|
tabsize=2,
|
|
title=\lstname,
|
|
upquote=true % requires textcomp
|
|
}
|
|
|
|
\lstdefinestyle{jsonST}{
|
|
basicstyle=\normalfont\ttfamily,
|
|
commentstyle=\color{eclipseStrings}, % style of comment
|
|
stringstyle=\color{forestgreen}, % style of strings
|
|
numbers=left,
|
|
numberstyle=\scriptsize,
|
|
stepnumber=1,
|
|
numbersep=8pt,
|
|
showstringspaces=false,
|
|
breaklines=false,
|
|
frame=lines,
|
|
backgroundcolor=\color{gray}, %only if you like
|
|
}
|
|
|
|
\lstdefinelanguage{json}{
|
|
string=[s]{"}{"},
|
|
literate=
|
|
*{0}{{{\color{numb}0}}}{1}
|
|
{1}{{{\color{numb}1}}}{1}
|
|
{2}{{{\color{numb}2}}}{1}
|
|
{3}{{{\color{numb}3}}}{1}
|
|
{4}{{{\color{numb}4}}}{1}
|
|
{5}{{{\color{numb}5}}}{1}
|
|
{6}{{{\color{numb}6}}}{1}
|
|
{7}{{{\color{numb}7}}}{1}
|
|
{8}{{{\color{numb}8}}}{1}
|
|
{9}{{{\color{numb}9}}}{1}
|
|
}
|
|
|
|
|
|
|
|
\lstdefinelanguage{jsste}{
|
|
sensitive = true,
|
|
string=[s]{"}{"},
|
|
keywords = {_STYLES_,_TEMPLATE_,_IMPORTS_},
|
|
% morecomment =[s]{js$*}{*e},
|
|
morecomment=[l]//,%
|
|
morestring=*[d]{"},
|
|
morecomment=[l]<-,
|
|
}
|
|
|
|
\lstdefinestyle{jssteST}{
|
|
commentstyle=\color{red}\upshape, % style of comment
|
|
basicstyle=\normalfont\ttfamily,
|
|
keywordstyle=\color{mediumblue},
|
|
keywordstyle={[2]\color{darkviolet}},
|
|
keywordstyle={[3]\color{royalblue}},
|
|
stringstyle=\color{forestgreen}, % style of strings
|
|
}
|
|
|
|
|
|
\lstdefinestyle{JSSTE}{
|
|
language=jsste,
|
|
style=jssteST,
|
|
}
|
|
|
|
\lstdefinestyle{JSON}{
|
|
language=json,
|
|
style=jsonST
|
|
}
|
|
|
|
\lstdefinestyle{js}{
|
|
language=JavaScript,
|
|
style=JSES6Base
|
|
}
|
|
|
|
|
|
\lstdefinestyle{JavaScript}{
|
|
language=JavaScript,
|
|
style=JSES6Base
|
|
}
|
|
|
|
|
|
\lstdefinestyle{ES6}{
|
|
language=ES6,
|
|
style=JSES6Base
|
|
}
|
|
|
|
\newcommand{\inlinecode}[2]{\lstinline[style=#1]$#2$}
|
|
|
|
% \newenvironment{code}{
|
|
% \begin{lstlisting}[language=js]
|
|
% }{
|
|
% \end{lstlisting}
|
|
% }
|