Skip to content

Instantly share code, notes, and snippets.

@timothymillar
Last active June 10, 2020 11:18
Show Gist options
  • Save timothymillar/5e765ea2a5c795ed4f51869a1f0f2f73 to your computer and use it in GitHub Desktop.
Save timothymillar/5e765ea2a5c795ed4f51869a1f0f2f73 to your computer and use it in GitHub Desktop.
Syntax hilighting for Chicken Scheme in Geany
Forked from the Geanys included filetypes.Clojure.conf
Keywords based on https://github.com/emacsmirror/chicken-scheme/blob/master/chicken-scheme.el
Licenced GPL3 to match both sources
# For complete documentation of this file, please see Geany's main documentation
[styling=Lisp]
[keywords]
# all items must be in one line
keywords=abs acos and angle append apply asin assoc assq assv atan begin boolean? caar cadr call-with-current-continuation call-with-input-file call-with-output-file call-with-values car case cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? char? close-input-port close-output-port complex? cond cons cos current-input-port current-output-port define define-syntax delay denominator display do dynamic-wind else eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt floor for-each force gcd if imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lambda lcm length let let* let-syntax letrec letrec-syntax list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector map max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file or output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! setcar sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci<? string-ci=? string-ci>=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string<? string=? string>=? string>? string? substring symbol->string symbol? syntax-rules tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! vector? with-input-from-file with-output-to-file write write-char zero? * + - ... / < <= = => > >= abs and append apply assoc assq assv begin binary-port? boolean=? boolean? bytevector bytevector-append bytevector-copy bytevector-copy! bytevector-length bytevector-u8-ref bytevector-u8-set! bytevector? caar cadr call-with-current-continuation call-with-port call-with-values call/cc car case cdar cddr cdr ceiling char->integer char-ready? char<=? char<? char=? char>=? char>? char? close-input-port close-output-port close-port complex? cond cond-expand cons current-error-port current-input-port current-output-port define define-record-type define-syntax define-values denominator do dynamic-wind else eof-object? equal? error error-object-message even? exact-integer-sqrt exact? features floor floor-remainder flush-output-port gcd get-output-string if include-ci inexact? input-port? integer? lcm let let*-values let-values letrec* list list->vector list-ref list-tail make-bytevector make-parameter make-vector max memq min negative? not number->string numerator open-input-bytevector open-output-bytevector or output-port? parameterize peek-u8 positive? quasiquote quotient raise-continuable rationalize read-bytevector! read-error? read-string real? reverse set! set-cdr! string string->number string->utf8 string-append eof-object eq? eqv? error-object-irritants error-object? exact exact-integer? expt file-error? floor-quotient floor/ for-each get-output-bytevector guard include inexact input-port-open? integer->char lambda length let* let-syntax letrec letrec-syntax list->string list-copy list-set! list? make-list make-string map member memv modulo newline null? number? odd? open-input-string open-output-string output-port-open? pair? peek-char port? procedure? quote raise rational? read-bytevector read-char read-line read-u8 remainder round set-car! square string->list string->symbol string->vector string-copy string-copy! string-for-each string-map string-set! string<? string>=? string? symbol->string symbol? syntax-rules truncate truncate-remainder u8-ready? unquote utf8->string vector vector->string vector-copy vector-fill! vector-length vector-ref vector? with-exception-handler write-char write-u8 string-fill! string-length string-ref string<=? string=? string>? substring symbol=? syntax-error textual-port? truncate-quotient truncate/ unless unquote-splicing values vector->list vector-append vector-copy! vector-for-each vector-map vector-set! when write-bytevector write-string zero?
special_keywords=and-let* assume compiler-typecase cond-expand condition-case cut cute declare define-constant define-inline define-interface define-record define-record-type define-specialization define-syntax-rule define-type define-values dotimes ecase fluid-let foreign-lambda foreign-lambda* foreign-primitive foreign-safe-lambda foreign-safe-lambda* functor handle-exceptions import let*-values let-location let-optionals let-optionals* let-values letrec* letrec-values match-letrec module parameterize regex-case require-extension select set! unless use when with-input-from-pipe match match-lambda match-lambda* match-let match-let* receive
[settings]
# default extension used when saving files
extension=scm
lexer_filetype=Lisp
# the following characters are these which a "word" can contains, see documentation
#wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
# single comments, like # in this file
comment_single=;
# multiline comments
# comment_open=#|
# comment_close=|#
# set to false if a comment character/string should start at column 0 of a line, true uses any
# indentation of the line, e.g. setting to true causes the following on pressing CTRL+d
#command_example();
# setting to false would generate this
# command_example();
# This setting works only for single line comments
comment_use_indent=true
# context action command (please see Geany's main documentation for details)
context_action_cmd=xdg-open "http://clojure.github.com/clojure/clojure.core-api.html#clojure.core/%s"
[indentation]
width=2
# 0 is spaces, 1 is tabs, 2 is tab & spaces
type=0
[build_settings]
# %f will be replaced by the complete filename
# %e will be replaced by the filename without extension
# (use only one of it at one time)
compiler=csc "%f"
run_cmd=csi "%f"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment