[218aecf] | 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -*- Mode: Latex -*- %%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
| 2 | %% |
---|
| 3 | %% Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo |
---|
[fb31cb8] | 4 | %% |
---|
| 5 | %% lstlang.sty -- |
---|
| 6 | %% |
---|
[218aecf] | 7 | %% Author : Peter A. Buhr |
---|
| 8 | %% Created On : Sat May 13 16:34:42 2017 |
---|
| 9 | %% Last Modified By : Peter A. Buhr |
---|
[2ad507b8] | 10 | %% Last Modified On : Wed Aug 30 22:11:14 2017 |
---|
| 11 | %% Update Count : 14 |
---|
[218aecf] | 12 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
| 13 | |
---|
| 14 | % Go programming language: https://github.com/julienc91/listings-golang/blob/master/listings-golang.sty |
---|
| 15 | \lstdefinelanguage{Golang}{ |
---|
| 16 | morekeywords=[1]{package,import,func,type,struct,return,defer,panic,recover,select,var,const,iota,}, |
---|
| 17 | morekeywords=[2]{string,uint,uint8,uint16,uint32,uint64,int,int8,int16,int32,int64, |
---|
| 18 | bool,float32,float64,complex64,complex128,byte,rune,uintptr, error,interface}, |
---|
| 19 | morekeywords=[3]{map,slice,make,new,nil,len,cap,copy,close,true,false,delete,append,real,imag,complex,chan,}, |
---|
| 20 | morekeywords=[4]{for,break,continue,range,goto,switch,case,fallthrough,if,else,default,}, |
---|
| 21 | morekeywords=[5]{Println,Printf,Error,}, |
---|
| 22 | sensitive=true, |
---|
| 23 | morecomment=[l]{//}, |
---|
| 24 | morecomment=[s]{/*}{*/}, |
---|
| 25 | morestring=[b]', |
---|
| 26 | morestring=[b]", |
---|
| 27 | morestring=[s]{`}{`}, |
---|
| 28 | } |
---|
| 29 | |
---|
| 30 | % from https://gist.github.com/nikolajquorning/92bbbeef32e1dd80105c9bf2daceb89a |
---|
| 31 | \lstdefinelanguage{sml} { |
---|
| 32 | morekeywords= { |
---|
| 33 | EQUAL, GREATER, LESS, NONE, SOME, abstraction, abstype, and, andalso, array, as, before, bool, |
---|
| 34 | case, char, datatype, do, else, end, eqtype, exception, exn, false, fn, fun, functor, handle, |
---|
| 35 | if, in, include, infix, infixr, int, let, list, local, nil, nonfix, not, o, of, op, open, |
---|
| 36 | option, orelse, overload, print, raise, real, rec, ref, sharing, sig, signature, string, struct, |
---|
| 37 | structure, substring, then, true, type, unit, val, vector, where, while, with, withtype, word |
---|
| 38 | }, |
---|
| 39 | morestring=[b]", |
---|
| 40 | morecomment=[s]{(*}{*)}, |
---|
| 41 | } |
---|
| 42 | |
---|
| 43 | \lstdefinelanguage{D}{ |
---|
| 44 | % Keywords |
---|
| 45 | morekeywords=[1]{ |
---|
| 46 | abstract, alias, align, auto, body, break, cast, catch, class, const, continue, debug, |
---|
| 47 | delegate, delete, deprecated, do, else, enum, export, false, final, finally, for, foreach, |
---|
| 48 | foreach_reverse, function, goto, if, immutable, import, in, inout, interface, invariant, is, |
---|
| 49 | lazy, macro, mixin, module, new, nothrow, null, out, override, package, pragma, private, |
---|
| 50 | protected, public, pure, ref, return, shared, static, struct, super, switch, synchronized, |
---|
| 51 | template, this, throw, true, try, typedef, typeid, typeof, union, unittest, volatile, while, |
---|
| 52 | with |
---|
| 53 | }, |
---|
| 54 | % Special identifiers, common functions |
---|
| 55 | morekeywords=[2]{enforce}, |
---|
| 56 | % Ugly identifiers |
---|
| 57 | morekeywords=[3]{ |
---|
| 58 | __DATE__, __EOF__, __FILE__, __LINE__, __TIMESTAMP__, __TIME__, __VENDOR__, |
---|
| 59 | __VERSION__, __ctfe, __gshared, __monitor, __thread, __vptr, _argptr, |
---|
| 60 | _arguments, _ctor, _dtor |
---|
| 61 | }, |
---|
| 62 | % Basic types |
---|
| 63 | morekeywords=[4]{ |
---|
| 64 | byte, ubyte, short, ushort, int, uint, long, ulong, cent, ucent, void, bool, bit, float, |
---|
| 65 | double, real, ushort, int, uint, long, ulong, float, char, wchar, dchar, string, wstring, |
---|
| 66 | dstring, ireal, ifloat, idouble, creal, cfloat, cdouble, size_t, ptrdiff_t, sizediff_t, |
---|
| 67 | equals_t, hash_t |
---|
| 68 | }, |
---|
| 69 | % Strings |
---|
| 70 | morestring=[b]{"}, |
---|
| 71 | morestring=[b]{'}, |
---|
| 72 | morestring=[b]{`}, |
---|
| 73 | % Comments |
---|
| 74 | comment=[l]{//}, |
---|
| 75 | morecomment=[s]{/*}{*/}, |
---|
| 76 | morecomment=[s][\color{blue}]{/**}{*/}, |
---|
| 77 | morecomment=[n]{/+}{+/}, |
---|
| 78 | morecomment=[n][\color{blue}]{/++}{+/}, |
---|
| 79 | % Options |
---|
| 80 | sensitive=true |
---|
| 81 | } |
---|
| 82 | |
---|
| 83 | \lstdefinelanguage{rust}{ |
---|
| 84 | morekeywords=[1]{ |
---|
| 85 | abstract, alignof, as, become, box, break, const, continue, crate, do, else, enum, extern, |
---|
| 86 | false, final, fn, for, if, impl, in, let, loop, macro, match, mod, move, mut, offsetof, |
---|
| 87 | override, priv, proc, pub, pure, ref, return, Self, self, sizeof, static, struct, super, |
---|
| 88 | trait, true, type, typeof, unsafe, unsized, use, virtual, where, while, yield |
---|
| 89 | }, |
---|
| 90 | morestring=[b]{"}, |
---|
| 91 | comment=[l]{//}, |
---|
| 92 | morecomment=[s]{/*}{*/}, |
---|
| 93 | sensitive=true |
---|
| 94 | } |
---|
| 95 | |
---|
| 96 | \lstdefinelanguage{Pseudo}{ |
---|
| 97 | morekeywords={string,uint,int,bool,float}, |
---|
| 98 | sensitive=true, |
---|
| 99 | morecomment=[l]{//}, |
---|
| 100 | morecomment=[s]{/*}{*/}, |
---|
| 101 | morestring=[b]', |
---|
| 102 | morestring=[b]", |
---|
| 103 | morestring=[s]{`}{`}, |
---|
| 104 | } |
---|
| 105 | |
---|
| 106 | % CFA programming language, based on ANSI C (with some gcc additions) |
---|
| 107 | \lstdefinelanguage{CFA}[ANSI]{C}{ |
---|
| 108 | morekeywords={ |
---|
[27dde72] | 109 | _Alignas, _Alignof, __alignof, __alignof__, asm, __asm, __asm__, _At, __attribute, |
---|
[218aecf] | 110 | __attribute__, auto, _Bool, catch, catchResume, choose, _Complex, __complex, __complex__, |
---|
[27dde72] | 111 | __const, __const__, disable, dtype, enable, __extension__, fallthrough, fallthru, |
---|
[fb31cb8] | 112 | finally, forall, ftype, _Generic, _Imaginary, inline, __label__, lvalue, _Noreturn, one_t, |
---|
| 113 | otype, restrict, _Static_assert, throw, throwResume, trait, try, ttype, typeof, __typeof, |
---|
| 114 | __typeof__, virtual, with, zero_t}, |
---|
[27dde72] | 115 | morekeywords=[2]{ |
---|
[fb31cb8] | 116 | _Atomic, coroutine, is_coroutine, is_monitor, is_thread, monitor, mutex, nomutex, or, |
---|
| 117 | resume, suspend, thread, _Thread_local, waitfor, when, yield}, |
---|
[05385a6] | 118 | moredirectives={defined,include_next}% |
---|
[218aecf] | 119 | } |
---|
| 120 | |
---|
[1a6e855] | 121 | % C++ programming language |
---|
| 122 | \lstdefinelanguage{C++}[ANSI]{C++}{} |
---|
| 123 | |
---|
[8712514] | 124 | % uC++ programming language, based on ANSI C++ |
---|
| 125 | \lstdefinelanguage{uC++}[ANSI]{C++}{ |
---|
| 126 | morekeywords={ |
---|
| 127 | _Accept, _AcceptReturn, _AcceptWait, _Actor, _At, _CatchResume, _Cormonitor, _Coroutine, _Disable, |
---|
| 128 | _Else, _Enable, _Event, _Finally, _Monitor, _Mutex, _Nomutex, _PeriodicTask, _RealTimeTask, |
---|
| 129 | _Resume, _Select, _SporadicTask, _Task, _Timeout, _When, _With, _Throw}, |
---|
| 130 | } |
---|
| 131 | |
---|
[218aecf] | 132 | % Local Variables: % |
---|
| 133 | % tab-width: 4 % |
---|
| 134 | % fill-column: 100 % |
---|
| 135 | % End: % |
---|