# Copyright (c) 2005 - 2006 Hans Jeuken. All rights reserved.
# This program is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.
# This file was generated from the 'commonlisp.xml' file of the syntax highlight
# engine of the kate text editor (http://www.kate-editor.org
#kate xml version 1.02
#kate version 2.3
#kate author Dominik Haumann (dhdev@gmx.de)
#generated: Sun Feb 3 22:02:04 2008, localtime
package Syntax::Highlight::Engine::Kate::Common_Lisp;
our $VERSION = '0.14';
use strict;
use warnings;
use base('Syntax::Highlight::Engine::Kate::Template');
sub new {
my $proto = shift;
my $class = ref($proto) || $proto;
my $self = $class->SUPER::new(@_);
$self->attributes({
'BaseN' => 'BaseN',
'Brackets' => 'BString',
'Char' => 'Char',
'Comment' => 'Comment',
'Data' => 'DataType',
'Decimal' => 'DecVal',
'Definition' => 'Others',
'Float' => 'Float',
'Function' => 'Function',
'Keyword' => 'Keyword',
'Modifier' => 'Reserved',
'Normal' => 'Normal',
'Operator' => 'Operator',
'Region Marker' => 'RegionMarker',
'String' => 'String',
'Variable' => 'Variable',
});
$self->listAdd('definitions',
'defclass',
'defconstant',
'defgeneric',
'define-compiler-macro',
'define-condition',
'define-method-combination',
'define-modify-macro',
'define-setf-expander',
'define-setf-method',
'define-symbol-macro',
'defmacro',
'defmethod',
'defpackage',
'defparameter',
'defsetf',
'defstruct',
'deftype',
'defun',
'defvar',
);
$self->listAdd('keywords',
'abort',
'abs',
'access',
'acons',
'acos',
'acosh',
'add-method',
'adjoin',
'adjust-array',
'adjustable-array-p',
'allocate-instance',
'alpha-char-p',
'alphanumericp',
'and',
'append',
'apply',
'applyhook',
'apropos',
'apropos-list',
'aref',
'arithmetic-error',
'arithmetic-error-operands',
'arithmetic-error-operation',
'array',
'array-dimension',
'array-dimension-limit',
'array-dimensions',
'array-displacement',
'array-element-type',
'array-has-fill-pointer-p',
'array-in-bounds-p',
'array-rank',
'array-rank-limit',
'array-row-major-index',
'array-total-size',
'array-total-size-limit',
'arrayp',
'ash',
'asin',
'asinh',
'assert',
'assoc',
'assoc-if',
'assoc-if-not',
'atan',
'atanh',
'atom',
'base-char',
'base-string',
'bignum',
'bit',
'bit-and',
'bit-andc1',
'bit-andc2',
'bit-eqv',
'bit-ior',
'bit-nand',
'bit-nor',
'bit-not',
'bit-orc1',
'bit-orc2',
'bit-vector',
'bit-vector-p',
'bit-xor',
'block',
'boole',
'boole-1',
'boole-2',
'boole-and',
'boole-andc1',
'boole-andc2',
'boole-c1',
'boole-c2',
'boole-clr',
'boole-eqv',
'boole-ior',
'boole-nand',
'boole-nor',
'boole-orc1',
'boole-orc2',
'boole-set',
'boole-xor',
'boolean',
'both-case-p',
'boundp',
'break',
'broadcast-stream',
'broadcast-stream-streams',
'built-in-class',
'butlast',
'byte',
'byte-position',
'byte-size',
'call-arguments-limit',
'call-method',
'call-next-method',
'capitalize',
'car',
'case',
'catch',
'ccase',
'cdr',
'ceiling',
'cell-error',
'cell-error-name',
'cerror',
'change-class',
'char',
'char-bit',
'char-bits',
'char-bits-limit',
'char-code',
'char-code-limit',
'char-control-bit',
'char-downcase',
'char-equal',
'char-font',
'char-font-limit',
'char-greaterp',
'char-hyper-bit',
'char-int',
'char-lessp',
'char-meta-bit',
'char-name',
'char-not-equal',
'char-not-greaterp',
'char-not-lessp',
'char-super-bit',
'char-upcase',
'char/=',
'char<',
'char<=',
'char=',
'char>',
'char>=',
'character',
'characterp',
'check-type',
'cis',
'class',
'class-name',
'class-of',
'clear-input',
'clear-output',
'close',
'clrhash',
'code-char',
'coerce',
'commonp',
'compilation-speed',
'compile',
'compile-file',
'compile-file-pathname',
'compiled-function',
'compiled-function-p',
'compiler-let',
'compiler-macro',
'compiler-macro-function',
'complement',
'complex',
'complexp',
'compute-applicable-methods',
'compute-restarts',
'concatenate',
'concatenated-stream',
'concatenated-stream-streams',
'cond',
'condition',
'conjugate',
'cons',
'consp',
'constantly',
'constantp',
'continue',
'control-error',
'copy-alist',
'copy-list',
'copy-pprint-dispatch',
'copy-readtable',
'copy-seq',
'copy-structure',
'copy-symbol',
'copy-tree',
'cos',
'cosh',
'count',
'count-if',
'count-if-not',
'ctypecase',
'debug',
'decf',
'declaim',
'declaration',
'declare',
'decode-float',
'decode-universal-time',
'delete',
'delete-duplicates',
'delete-file',
'delete-if',
'delete-if-not',
'delete-package',
'denominator',
'deposit-field',
'describe',
'describe-object',
'destructuring-bind',
'digit-char',
'digit-char-p',
'directory',
'directory-namestring',
'disassemble',
'division-by-zero',
'do',
'do*',
'do-all-symbols',
'do-exeternal-symbols',
'do-external-symbols',
'do-symbols',
'documentation',
'dolist',
'dotimes',
'double-float',
'double-float-epsilon',
'double-float-negative-epsilon',
'dpb',
'dribble',
'dynamic-extent',
'ecase',
'echo-stream',
'echo-stream-input-stream',
'echo-stream-output-stream',
'ed',
'eighth',
'elt',
'encode-universal-time',
'end-of-file',
'endp',
'enough-namestring',
'ensure-directories-exist',
'ensure-generic-function',
'eq',
'eql',
'equal',
'equalp',
'error',
'etypecase',
'eval',
'eval-when',
'evalhook',
'evenp',
'every',
'exp',
'export',
'expt',
'extended-char',
'fboundp',
'fceiling',
'fdefinition',
'ffloor',
'fifth',
'file-author',
'file-error',
'file-error-pathname',
'file-length',
'file-namestring',
'file-position',
'file-stream',
'file-string-length',
'file-write-date',
'fill',
'fill-pointer',
'find',
'find-all-symbols',
'find-class',
'find-if',
'find-if-not',
'find-method',
'find-package',
'find-restart',
'find-symbol',
'finish-output',
'first',
'fixnum',
'flet',
'float',
'float-digits',
'float-precision',
'float-radix',
'float-sign',
'floating-point-inexact',
'floating-point-invalid-operation',
'floating-point-overflow',
'floating-point-underflow',
'floatp',
'floor',
'fmakunbound',
'force-output',
'format',
'formatter',
'fourth',
'fresh-line',
'fround',
'ftruncate',
'ftype',
'funcall',
'function',
'function-keywords',
'function-lambda-expression',
'functionp',
'gbitp',
'gcd',
'generic-function',
'gensym',
'gentemp',
'get',
'get-decoded-time',
'get-dispatch-macro-character',
'get-internal-real-time',
'get-internal-run-time',
'get-macro-character',
'get-output-stream-string',
'get-properties',
'get-setf-expansion',
'get-setf-method',
'get-universal-time',
'getf',
'gethash',
'go',
'graphic-char-p',
'handler-bind',
'handler-case',
'hash-table',
'hash-table-count',
'hash-table-p',
'hash-table-rehash-size',
'hash-table-rehash-threshold',
'hash-table-size',
'hash-table-test',
'host-namestring',
'identity',
'if',
'if-exists',
'ignorable',
'ignore',
'ignore-errors',
'imagpart',
'import',
'in-package',
'in-package',
'incf',
'initialize-instance',
'inline',
'input-stream-p',
'inspect',
'int-char',
'integer',
'integer-decode-float',
'integer-length',
'integerp',
'interactive-stream-p',
'intern',
'internal-time-units-per-second',
'intersection',
'invalid-method-error',
'invoke-debugger',
'invoke-restart',
'invoke-restart-interactively',
'isqrt',
'keyword',
'keywordp',
'labels',
'lambda',
'lambda-list-keywords',
'lambda-parameters-limit',
'last',
'lcm',
'ldb',
'ldb-test',
'ldiff',
'least-negative-double-float',
'least-negative-long-float',
'least-negative-normalized-double-float',
'least-negative-normalized-long-float',
'least-negative-normalized-short-float',
'least-negative-normalized-single-float',
'least-negative-short-float',
'least-negative-single-float',
'least-positive-double-float',
'least-positive-long-float',
'least-positive-normalized-double-float',
'least-positive-normalized-long-float',
'least-positive-normalized-short-float',
'least-positive-normalized-single-float',
'least-positive-short-float',
'least-positive-single-float',
'length',
'let',
'let*',
'lisp',
'lisp-implementation-type',
'lisp-implementation-version',
'list',
'list*',
'list-all-packages',
'list-length',
'listen',
'listp',
'load',
'load-logical-pathname-translations',
'load-time-value',
'locally',
'log',
'logand',
'logandc1',
'logandc2',
'logbitp',
'logcount',
'logeqv',
'logical-pathname',
'logical-pathname-translations',
'logior',
'lognand',
'lognor',
'lognot',
'logorc1',
'logorc2',
'logtest',
'logxor',
'long-float',
'long-float-epsilon',
'long-float-negative-epsilon',
'long-site-name',
'loop',
'loop-finish',
'lower-case-p',
'machine-instance',
'machine-type',
'machine-version',
'macro-function',
'macroexpand',
'macroexpand-1',
'macroexpand-l',
'macrolet',
'make-array',
'make-array',
'make-broadcast-stream',
'make-char',
'make-concatenated-stream',
'make-condition',
'make-dispatch-macro-character',
'make-echo-stream',
'make-hash-table',
'make-instance',
'make-instances-obsolete',
'make-list',
'make-load-form',
'make-load-form-saving-slots',
'make-method',
'make-package',
'make-pathname',
'make-random-state',
'make-sequence',
'make-string',
'make-string-input-stream',
'make-string-output-stream',
'make-symbol',
'make-synonym-stream',
'make-two-way-stream',
'makunbound',
'map',
'map-into',
'mapc',
'mapcan',
'mapcar',
'mapcon',
'maphash',
'mapl',
'maplist',
'mask-field',
'max',
'member',
'member-if',
'member-if-not',
'merge',
'merge-pathname',
'merge-pathnames',
'method',
'method-combination',
'method-combination-error',
'method-qualifiers',
'min',
'minusp',
'mismatch',
'mod',
'most-negative-double-float',
'most-negative-fixnum',
'most-negative-long-float',
'most-negative-short-float',
'most-negative-single-float',
'most-positive-double-float',
'most-positive-fixnum',
'most-positive-long-float',
'most-positive-short-float',
'most-positive-single-float',
'muffle-warning',
'multiple-value-bind',
'multiple-value-call',
'multiple-value-list',
'multiple-value-prog1',
'multiple-value-seteq',
'multiple-value-setq',
'multiple-values-limit',
'name-char',
'namestring',
'nbutlast',
'nconc',
'next-method-p',
'nil',
'nintersection',
'ninth',
'no-applicable-method',
'no-next-method',
'not',
'notany',
'notevery',
'notinline',
'nreconc',
'nreverse',
'nset-difference',
'nset-exclusive-or',
'nstring',
'nstring-capitalize',
'nstring-downcase',
'nstring-upcase',
'nsublis',
'nsubst',
'nsubst-if',
'nsubst-if-not',
'nsubstitute',
'nsubstitute-if',
'nsubstitute-if-not',
'nth',
'nth-value',
'nthcdr',
'null',
'number',
'numberp',
'numerator',
'nunion',
'oddp',
'open',
'open-stream-p',
'optimize',
'or',
'otherwise',
'output-stream-p',
'package',
'package-error',
'package-error-package',
'package-name',
'package-nicknames',
'package-shadowing-symbols',
'package-use-list',
'package-used-by-list',
'packagep',
'pairlis',
'parse-error',
'parse-integer',
'parse-namestring',
'pathname',
'pathname-device',
'pathname-directory',
'pathname-host',
'pathname-match-p',
'pathname-name',
'pathname-type',
'pathname-version',
'pathnamep',
'peek-char',
'phase',
'pi',
'plusp',
'pop',
'position',
'position-if',
'position-if-not',
'pprint',
'pprint-dispatch',
'pprint-exit-if-list-exhausted',
'pprint-fill',
'pprint-indent',
'pprint-linear',
'pprint-logical-block',
'pprint-newline',
'pprint-pop',
'pprint-tab',
'pprint-tabular',
'prin1',
'prin1-to-string',
'princ',
'princ-to-string',
'print',
'print-not-readable',
'print-not-readable-object',
'print-object',
'print-unreadable-object',
'probe-file',
'proclaim',
'prog',
'prog*',
'prog1',
'prog2',
'progn',
'program-error',
'progv',
'provide',
'psetf',
'psetq',
'push',
'pushnew',
'putprop',
'quote',
'random',
'random-state',
'random-state-p',
'rassoc',
'rassoc-if',
'rassoc-if-not',
'ratio',
'rational',
'rationalize',
'rationalp',
'read',
'read-byte',
'read-char',
'read-char-no-hang',
'read-delimited-list',
'read-eval-print',
'read-from-string',
'read-line',
'read-preserving-whitespace',
'read-sequence',
'reader-error',
'readtable',
'readtable-case',
'readtablep',
'real',
'realp',
'realpart',
'reduce',
'reinitialize-instance',
'rem',
'remf',
'remhash',
'remove',
'remove-duplicates',
'remove-if',
'remove-if-not',
'remove-method',
'remprop',
'rename-file',
'rename-package',
'replace',
'require',
'rest',
'restart',
'restart-bind',
'restart-case',
'restart-name',
'return',
'return-from',
'revappend',
'reverse',
'room',
'rotatef',
'round',
'row-major-aref',
'rplaca',
'rplacd',
'safety',
'satisfies',
'sbit',
'scale-float',
'schar',
'search',
'second',
'sequence',
'serious-condition',
'set',
'set-char-bit',
'set-difference',
'set-dispatch-macro-character',
'set-exclusive-or',
'set-macro-character',
'set-pprint-dispatch',
'set-syntax-from-char',
'setf',
'setq',
'seventh',
'shadow',
'shadowing-import',
'shared-initialize',
'shiftf',
'short-float',
'short-float-epsilon',
'short-float-negative-epsilon',
'short-site-name',
'signal',
'signed-byte',
'signum',
'simle-condition',
'simple-array',
'simple-base-string',
'simple-bit-vector',
'simple-bit-vector-p',
'simple-condition-format-arguments',
'simple-condition-format-control',
'simple-error',
'simple-string',
'simple-string-p',
'simple-type-error',
'simple-vector',
'simple-vector-p',
'simple-warning',
'sin',
'single-flaot-epsilon',
'single-float',
'single-float-epsilon',
'single-float-negative-epsilon',
'sinh',
'sixth',
'sleep',
'slot-boundp',
'slot-exists-p',
'slot-makunbound',
'slot-missing',
'slot-unbound',
'slot-value',
'software-type',
'software-version',
'some',
'sort',
'space',
'special',
'special-form-p',
'special-operator-p',
'speed',
'sqrt',
'stable-sort',
'standard',
'standard-char',
'standard-char-p',
'standard-class',
'standard-generic-function',
'standard-method',
'standard-object',
'step',
'storage-condition',
'store-value',
'stream',
'stream-element-type',
'stream-error',
'stream-error-stream',
'stream-external-format',
'streamp',
'streamup',
'string',
'string-capitalize',
'string-char',
'string-char-p',
'string-downcase',
'string-equal',
'string-greaterp',
'string-left-trim',
'string-lessp',
'string-not-equal',
'string-not-greaterp',
'string-not-lessp',
'string-right-strim',
'string-right-trim',
'string-stream',
'string-trim',
'string-upcase',
'string/=',
'string<',
'string<=',
'string=',
'string>',
'string>=',
'stringp',
'structure',
'structure-class',
'structure-object',
'style-warning',
'sublim',
'sublis',
'subseq',
'subsetp',
'subst',
'subst-if',
'subst-if-not',
'substitute',
'substitute-if',
'substitute-if-not',
'subtypep',
'svref',
'sxhash',
'symbol',
'symbol-function',
'symbol-macrolet',
'symbol-name',
'symbol-package',
'symbol-plist',
'symbol-value',
'symbolp',
'synonym-stream',
'synonym-stream-symbol',
'sys',
'system',
't',
'tagbody',
'tailp',
'tan',
'tanh',
'tenth',
'terpri',
'the',
'third',
'throw',
'time',
'trace',
'translate-logical-pathname',
'translate-pathname',
'tree-equal',
'truename',
'truncase',
'truncate',
'two-way-stream',
'two-way-stream-input-stream',
'two-way-stream-output-stream',
'type',
'type-error',
'type-error-datum',
'type-error-expected-type',
'type-of',
'typecase',
'typep',
'unbound-slot',
'unbound-slot-instance',
'unbound-variable',
'undefined-function',
'unexport',
'unintern',
'union',
'unless',
'unread',
'unread-char',
'unsigned-byte',
'untrace',
'unuse-package',
'unwind-protect',
'update-instance-for-different-class',
'update-instance-for-redefined-class',
'upgraded-array-element-type',
'upgraded-complex-part-type',
'upper-case-p',
'use-package',
'use-value',
'user',
'user-homedir-pathname',
'values',
'values-list',
'vector',
'vector-pop',
'vector-push',
'vector-push-extend',
'vectorp',
'warn',
'warning',
'when',
'wild-pathname-p',
'with-accessors',
'with-compilation-unit',
'with-condition-restarts',
'with-hash-table-iterator',
'with-input-from-string',
'with-open-file',
'with-open-stream',
'with-output-to-string',
'with-package-iterator',
'with-simple-restart',
'with-slots',
'with-standard-io-syntax',
'write',
'write-byte',
'write-char',
'write-line',
'write-sequence',
'write-string',
'write-to-string',
'y-or-n-p',
'yes-or-no-p',
'zerop',
);
$self->listAdd('modifiers',
':abort',
':adjustable',
':append',
':array',
':base',
':case',
':circle',
':conc-name',
':constructor',
':copier',
':count',
':create',
':default',
':defaults',
':device',
':direction',
':directory',
':displaced-index-offset',
':displaced-to',
':element-type',
':end',
':end1',
':end2',
':error',
':escape',
':external',
':from-end',
':gensym',
':host',
':if-does-not-exist:pretty',
':if-exists:print',
':include:print-function',
':index',
':inherited',
':initial-contents',
':initial-element',
':initial-offset',
':initial-value',
':input',
':internal:size',
':io',
':junk-allowed',
':key',
':length',
':level',
':name',
':named',
':new-version',
':nicknames',
':output',
':output-file',
':overwrite',
':predicate',
':preserve-whitespace',
':probe',
':radix',
':read-only',
':rehash-size',
':rehash-threshold',
':rename',
':rename-and-delete',
':start',
':start1',
':start2',
':stream',
':supersede',
':test',
':test-not',
':type',
':use',
':verbose',
':version',
);
$self->listAdd('symbols',
'*',
'**',
'***',
'+',
'++',
'+++',
'-',
'/',
'//',
'///',
'/=',
'1+',
'1-',
'<',
'<=',
'=',
'=>',
'>',
'>=',
);
$self->listAdd('variables',
'*applyhook*',
'*break-on-signals*',
'*break-on-signals*',
'*break-on-warnings*',
'*compile-file-pathname*',
'*compile-file-pathname*',
'*compile-file-truename*',
'*compile-file-truename*',
'*compile-print*',
'*compile-verbose*',
'*compile-verbose*',
'*debug-io*',
'*debugger-hook*',
'*default-pathname-defaults*',
'*error-output*',
'*evalhook*',
'*features*',
'*gensym-counter*',
'*load-pathname*',
'*load-print*',
'*load-truename*',
'*load-verbose*',
'*macroexpand-hook*',
'*modules*',
'*package*',
'*print-array*',
'*print-base*',
'*print-case*',
'*print-circle*',
'*print-escape*',
'*print-gensym*',
'*print-length*',
'*print-level*',
'*print-lines*',
'*print-miser-width*',
'*print-miser-width*',
'*print-pprint-dispatch*',
'*print-pprint-dispatch*',
'*print-pretty*',
'*print-radix*',
'*print-readably*',
'*print-right-margin*',
'*print-right-margin*',
'*query-io*',
'*random-state*',
'*read-base*',
'*read-default-float-format*',
'*read-eval*',
'*read-suppress*',
'*readtable*',
'*standard-input*',
'*standard-output*',
'*terminal-io*',
'*trace-output*',
);
$self->contextdata({
'MultiLineComment' => {
callback => \&parseMultiLineComment,
attribute => 'Comment',
},
'Normal' => {
callback => \&parseNormal,
attribute => 'Normal',
},
'SpecialNumber' => {
callback => \&parseSpecialNumber,
attribute => 'Normal',
lineending => '#pop',
},
'String' => {
callback => \&parseString,
attribute => 'String',
},
'function_decl' => {
callback => \&parsefunction_decl,
attribute => 'Function',
},
});
$self->deliminators('\\s||\\.|\\(|\\)|,|\\%|\\&|;|\\[|\\]|\\^|\\{|\\||\\}|\\~|-|\\+|\\*|\\?|\\!|<|>|=|\\/|:|#|\\\\');
$self->basecontext('Normal');
$self->keywordscase(0);
$self->initialize;
bless ($self, $class);
return $self;
}
sub language {
return 'Common Lisp';
}
sub parseMultiLineComment {
my ($self, $text) = @_;
# attribute => 'Comment'
# char => '|'
# char1 => '#'
# context => '#pop'
# endRegion => 'region'
# type => 'Detect2Chars'
if ($self->testDetect2Chars($text, '|', '#', 0, 0, 0, undef, 0, '#pop', 'Comment')) {
return 1
}
return 0;
};
sub parseNormal {
my ($self, $text) = @_;
# String => ';+\s*BEGIN.*$'
# attribute => 'Region Marker'
# beginRegion => 'region'
# context => '#stay'
# type => 'RegExpr'
if ($self->testRegExpr($text, ';+\\s*BEGIN.*$', 0, 0, 0, undef, 0, '#stay', 'Region Marker')) {
return 1
}
# String => ';+\s*END.*$'
# attribute => 'Region Marker'
# context => '#stay'
# endRegion => 'region'
# type => 'RegExpr'
if ($self->testRegExpr($text, ';+\\s*END.*$', 0, 0, 0, undef, 0, '#stay', 'Region Marker')) {
return 1
}
# String => ';.*$'
# attribute => 'Comment'
# context => '#stay'
# type => 'RegExpr'
if ($self->testRegExpr($text, ';.*$', 0, 0, 0, undef, 0, '#stay', 'Comment')) {
return 1
}
# attribute => 'Comment'
# beginRegion => 'region'
# char => '#'
# char1 => '|'
# context => 'MultiLineComment'
# type => 'Detect2Chars'
if ($self->testDetect2Chars($text, '#', '|', 0, 0, 0, undef, 0, 'MultiLineComment', 'Comment')) {
return 1
}
# attribute => 'Brackets'
# char => '('
# context => '#stay'
# type => 'DetectChar'
if ($self->testDetectChar($text, '(', 0, 0, 0, undef, 0, '#stay', 'Brackets')) {
return 1
}
# attribute => 'Brackets'
# char => ')'
# context => '#stay'
# type => 'DetectChar'
if ($self->testDetectChar($text, ')', 0, 0, 0, undef, 0, '#stay', 'Brackets')) {
return 1
}
# String => 'keywords'
# attribute => 'Keyword'
# context => '#stay'
# type => 'keyword'
if ($self->testKeyword($text, 'keywords', 0, undef, 0, '#stay', 'Keyword')) {
return 1
}
# String => 'symbols'
# attribute => 'Operator'
# context => '#stay'
# type => 'keyword'
if ($self->testKeyword($text, 'symbols', 0, undef, 0, '#stay', 'Operator')) {
return 1
}
# String => 'modifiers'
# attribute => 'Modifier'
# context => '#stay'
# type => 'keyword'
if ($self->testKeyword($text, 'modifiers', 0, undef, 0, '#stay', 'Modifier')) {
return 1
}
# String => 'variables'
# attribute => 'Variable'
# context => '#stay'
# type => 'keyword'
if ($self->testKeyword($text, 'variables', 0, undef, 0, '#stay', 'Variable')) {
return 1
}
# String => 'definitions'
# attribute => 'Definition'
# context => 'function_decl'
# type => 'keyword'
if ($self->testKeyword($text, 'definitions', 0, undef, 0, 'function_decl', 'Definition')) {
return 1
}
# String => '#\\.'
# attribute => 'Char'
# context => '#stay'
# type => 'RegExpr'
if ($self->testRegExpr($text, '#\\\\.', 0, 0, 0, undef, 0, '#stay', 'Char')) {
return 1
}
# attribute => 'String'
# char => '"'
# context => 'String'
# type => 'DetectChar'
if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, 'String', 'String')) {
return 1
}
# String => '#[bodxei]'
# attribute => 'Char'
# context => 'SpecialNumber'
# type => 'RegExpr'
if ($self->testRegExpr($text, '#[bodxei]', 0, 0, 0, undef, 0, 'SpecialNumber', 'Char')) {
return 1
}
# String => '#[tf]'
# attribute => 'Decimal'
# context => '#stay'
# type => 'RegExpr'
if ($self->testRegExpr($text, '#[tf]', 0, 0, 0, undef, 0, '#stay', 'Decimal')) {
return 1
}
# attribute => 'Float'
# context => '#stay'
# type => 'Float'
if ($self->testFloat($text, 0, undef, 0, '#stay', 'Float')) {
return 1
}
# attribute => 'Decimal'
# context => '#stay'
# type => 'Int'
if ($self->testInt($text, 0, undef, 0, '#stay', 'Decimal')) {
return 1
}
return 0;
};
sub parseSpecialNumber {
my ($self, $text) = @_;
# attribute => 'Float'
# context => '#pop'
# type => 'Float'
if ($self->testFloat($text, 0, undef, 0, '#pop', 'Float')) {
return 1
}
# attribute => 'Decimal'
# context => '#pop'
# type => 'Int'
if ($self->testInt($text, 0, undef, 0, '#pop', 'Decimal')) {
return 1
}
# attribute => 'BaseN'
# context => '#pop'
# type => 'HlCOct'
if ($self->testHlCOct($text, 0, undef, 0, '#pop', 'BaseN')) {
return 1
}
# attribute => 'Float'
# context => '#pop'
# type => 'HlCHex'
if ($self->testHlCHex($text, 0, undef, 0, '#pop', 'Float')) {
return 1
}
return 0;
};
sub parseString {
my ($self, $text) = @_;
# String => '#\\.'
# attribute => 'Char'
# context => '#stay'
# type => 'RegExpr'
if ($self->testRegExpr($text, '#\\\\.', 0, 0, 0, undef, 0, '#stay', 'Char')) {
return 1
}
# attribute => 'String'
# char => '"'
# context => '#pop'
# type => 'DetectChar'
if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '#pop', 'String')) {
return 1
}
return 0;
};
sub parsefunction_decl {
my ($self, $text) = @_;
# String => '\s*[A-Za-z0-9-+\<\>//\*]*\s*'
# attribute => 'Function'
# context => '#pop'
# type => 'RegExpr'
if ($self->testRegExpr($text, '\\s*[A-Za-z0-9-+\\<\\>//\\*]*\\s*', 0, 0, 0, undef, 0, '#pop', 'Function')) {
return 1
}
return 0;
};
1;
__END__
=head1 NAME
Syntax::Highlight::Engine::Kate::Common_Lisp - a Plugin for Common Lisp syntax highlighting
=head1 SYNOPSIS
require Syntax::Highlight::Engine::Kate::Common_Lisp;
my $sh = new Syntax::Highlight::Engine::Kate::Common_Lisp([
]);
=head1 DESCRIPTION
Syntax::Highlight::Engine::Kate::Common_Lisp is a plugin module that provides syntax highlighting
for Common Lisp to the Syntax::Haghlight::Engine::Kate highlighting engine.
This code is generated from the syntax definition files used
by the Kate project.
It works quite fine, but can use refinement and optimization.
It inherits Syntax::Higlight::Engine::Kate::Template. See also there.
=head1 AUTHOR
Hans Jeuken (haje <at> toneel <dot> demon <dot> nl)
=head1 BUGS
Unknown. If you find any, please contact the author