*** scheme.vim.62 2005-03-18 02:16:06.000000000 +0900 --- scheme.vim 2005-11-17 17:01:34.684540040 +0900 *************** *** 1,7 **** " Vim syntax file ! " Language: Scheme (R5RS) " Maintainer: Dirk van Deun ! " Last Change: April 30, 1998 " This script incorrectly recognizes some junk input as numerals: " parsing the complete system of Scheme numerals using the pattern --- 1,7 ---- " Vim syntax file ! " Language: Scheme (R5RS + Gauche) " Maintainer: Dirk van Deun ! " Last Change: Mar 24, 2005 (author Uchizono) " This script incorrectly recognizes some junk input as numerals: " parsing the complete system of Scheme numerals using the pattern *************** *** 96,101 **** --- 96,243 ---- syn keyword schemeFunc scheme-report-environment null-environment syn keyword schemeFunc interaction-environment + + + + + " Gauche Scheme Functions and Syntax: + + syn keyword schemeSyntax dotimes dolist begin0 define-values + syn keyword schemeSyntax define-module select-module export import use extend + syn keyword schemeFunc module? find-module make-module all-modules module-name + syn keyword schemeFunc module-imports module-exports module-table module-parents + syn keyword schemeFunc module-precedence-list symbol-bound? module-name->path path->module-name + + syn keyword schemeSyntax autoload + syn keyword schemeFunc library-fold library-map library-for-each library-exists? library-has-module? + + syn keyword schemeFunc add-load-path load-from-port + syn keyword schemeFunc current-load-port current-load-history current-load-next dynamic-load + syn keyword schemeFunc require provide provided? + + + syn keyword schemeSyntax fluid-let let1 receive rec set!-values + syn keyword schemeFunc setter has-setter? getter-with-setter + syn keyword schemeSyntax push! pop! inc! dec! update! + + syn keyword schemeSyntax define-class + syn keyword schemeFunc class-name class-precedence-list class-direct-supers class-direct-subclasses + syn keyword schemeFunc class-slots class-slot-definition class-direct-slots class-direct-methods + syn keyword schemeFunc class-slot-accessor + syn keyword schemeFunc slot-definition-name slot-definition-options slot-definition-allocation + syn keyword schemeFunc slot-definition-getter slot-defininion-setter slot-definition-accessor + syn keyword schemeFunc slot-definition-option + + syn keyword schemeSyntax define-in-module with-module export-all current-module + syn keyword schemeSyntax define-constant + + syn keyword schemeFunc rxmatch string->regexp regexp? + syn keyword schemeFunc rxmatch-start rxmatch-end rxmatch-substring rxmatch-num-matches + syn keyword schemeFunc rxmatch-after rxmatch-before + + syn keyword schemeFunc make-hash-table hash-table-put! hash-table-get hash-table-keys + syn keyword schemeFunc hash-table-delete! hash-table-exists? hash hash-table? + syn keyword schemeFunc hash-table-type hash-table-num-entries hash-table + syn keyword schemeFunc hash-table-for-each hash-table-map hash-table-fold hash-table-values + syn keyword schemeFunc object-hash eq-hash eqv-hash + + syn keyword schemeFunc vector-copy + + syn keyword schemeFunc make-keyword keyword? keyword->string + syn keyword schemeFunc get-keyword get-keyword* delete-keyword delete-keyword! + + syn keyword schemeFunc make-weak-vector weak-vector-length weak-vector-ref weak-vector-set! + + syn keyword schemeFunc read-eval-print-loop + syn keyword schemeFunc open-input-fd-port open-output-fd-port with-port-locking + syn keyword schemeFunc read-with-shared-structure read/ss read-byte peek-byte read-line read-block + syn keyword schemeFunc write-with-shared-structure write/ss write* print flush flush-all-ports + syn keyword schemeFunc write-byte format open-coding-aware-port + + + syn keyword schemeFunc open-input-string get-remaining-input-string open-output-string get-output-string + syn keyword schemeFunc call-with-input-string call-with-output-string with-input-from-string with-output-to-string + syn keyword schemeFunc call-with-string-io with-string-io write-to-string read-from-string + syn keyword schemeFunc define-reader-ctor + + syn keyword schemeFunc port->string port->list port->string-list port->sexp-list port-fold + syn keyword schemeFunc port-fold-right port-for-each port-map + syn keyword schemeFunc port-closed? current-error-port standard-input-port standard-output-port standard-error-port + + syn keyword schemeFunc with-input-from-port with-output-to-port with-error-to-port + syn keyword schemeFunc port-type port-name port-buffering port-current-line port-file-number + syn keyword schemeFunc port-seek port-tell copy-port + syn keyword schemeFunc acons make-list list* list-copy last-pair append! reverse! + syn keyword schemeFunc identifier? identifier->symbol + syn keyword schemeFunc char->ucs ucs->char digit->integer integer->digit + syn keyword schemeFunc gauche-character-encoding supported-character-encodings + + syn keyword schemeFunc compare object-compare sort sort! stable-sort stable-sort! + + syn keyword schemeFunc string-immutable? string-incomplete? make-byte-string + syn keyword schemeFunc x->string string-size string-byte-ref string-byte-set! + syn keyword schemeFunc string-join string-scan string-split + syn keyword schemeFunc make-string-pointer string-pointer-copy string-pointer? + syn keyword schemeFunc string-pointer-next! string-pointer-prev! string-pointer-set! + syn keyword schemeFunc string-pointer-substring string-pointer-index string-pointer-byte-index + + syn keyword schemeFunc string-complete->incomplete string-incomplete->complete + + syn keyword schemeFunc exit sys-exit sys-abort + syn keyword schemeFunc sys-getenv sys-putenv gauche-version gauche-architecture + syn keyword schemeFunc gauche-library-directory gauche-architecture-directory + syn keyword schemeFunc gauche-site-library-directory gauche-site-architecture-directory + syn keyword schemeFunc sys-readdir sys-glob + syn keyword schemeFunc sys-remove sys-rename sys-tmpnam sys-mkstemp + syn keyword schemeFunc sys-link sys-unlink sys-symlink sys-readlink + syn keyword schemeFunc sys-mkdir sys-rmdir sys-umask + syn keyword schemeFunc sys-normalize-pathname sys-basename sys-dirname sys-realpath + syn keyword schemeFunc file-exists? file-is-regular? file-is-directory? sys-stat sys-fstat sys-lstat + syn keyword schemeFunc sys-stat->mode sys-stat->ino sys-stat->dev sys-stat->rdev sys-stat->nlink + syn keyword schemeFunc sys-stat->size sys-stat->uid sys-stat->gid + syn keyword schemeFunc sys-stat->atime sys-stat->mtime sys-stat->ctime + syn keyword schemeFunc sys-stat->file-type sys-access sys-chmod sys-chown sys-utime + syn keyword schemeFunc sys-chdir sys-pipe sys-mkfifo sys-isatty sys-ttyname + + syn keyword schemeFunc fixnum? bignum? min&max + syn keyword schemeFunc quotient&remainder clamp sinh cosh tanh asinh acosh atanh + + syn keyword schemeFunc decode-float fmod modf frexp ldexp x->number x->integer + syn keyword schemeFunc ash logand logior logxor lognot logtest logbit? bit-field + syn keyword schemeFunc copy-bit copy-bit-field logcount integer-length + + syn keyword schemeFunc sys-getgrgid sys-getgrnam sys-gid->group-name sys-group-name->gid + syn keyword schemeFunc sys-getpwuid sys-uid->user-name sys-user-name->uid sys-crypt + syn keyword schemeFunc sys-setlocale sys-localeconv + + syn keyword schemeFunc sys-sigset-add! sys-sigset-delete! sys-sigset-fill! sys-sigset-empty! + syn keyword schemeFunc sys-signal-name sys-kill + syn keyword schemeFunc set-signal-handler! get-signal-handler get-signal-handlers with-signal-handlers + syn keyword schemeFunc sys-sigmask sys-sigsuspend + + syn keyword schemeFunc sys-uname sys-gethostname sys-getdomainname sys-getcwd + syn keyword schemeFunc sys-getgid sys-getegid sys-setgid + syn keyword schemeFunc sys-getuid sys-geteuid sys-setuid sys-getgroups + syn keyword schemeFunc sys-getlogin sys-getpgrp sys-getpgid sys-setpgid sys-setsid + syn keyword schemeFunc sys-getpid sys-getppid sys-times sys-ctermid + + + syn keyword schemeFunc sys-time sys-gettimeofday sys-gmtime sys-localtime + syn keyword schemeFunc sys-ctime sys-difftime sys-asctime sys-strftime sys-mktime + syn keyword schemeFunc sys-tm->alist current-time time? time->seconds seconds->time + + syn keyword schemeFunc sys-system sys-fork sys-exec sys-fork-and-exec + syn keyword schemeFunc sys-wait sys-waitpid sys-wait-exited? sys-wait-exit-status + syn keyword schemeFunc sys-wait-signaled? sys-wait-termsig sys-wait-stopped? sys-wait-stopsig + + syn keyword schemeFunc sys-fdset-ref sys-fdset-set! sys-fdset-max-fd sys-select sys-select! + syn keyword schemeFunc sys-pause sys-alarm sys-sleep sys-nanosleep sys-random sys-srandom + + + + + + " Writing out the complete description of Scheme numerals without " using variables is a day's work for a trained secretary... " This is a useful lax approximation: *************** *** 119,125 **** syn match schemeChar oneline "#\\" syn match schemeChar oneline "#\\." ! syn match schemeError oneline !#\\.[^ \t()";]\+! syn match schemeChar oneline "#\\space" syn match schemeError oneline !#\\space[^ \t()";]\+! syn match schemeChar oneline "#\\newline" --- 261,267 ---- syn match schemeChar oneline "#\\" syn match schemeChar oneline "#\\." ! syn match schemeError oneline !#\\.[^ \t()";]\+! syn match schemeChar oneline "#\\space" syn match schemeError oneline !#\\space[^ \t()";]\+! syn match schemeChar oneline "#\\newline" *************** *** 153,158 **** --- 295,310 ---- syn match schemeComment ";.*$" + + + " Gauche Regexp + syn region gaucheRegexp start=+#/+ skip=+\\[\\/]+ end=+/+ + " Gacuhe Comment + syn region gaucheComment start="#|" end="|#" contains=gaucheComment + + + + " Synchronization and the wrapping up... syn sync match matchPlace grouphere NONE "^[^ \t]" *************** *** 183,188 **** --- 335,343 ---- HiLink schemeComment Comment HiLink schemeError Error + HiLink gaucheRegexp schemeString + HiLink gaucheComment schemeComment + delcommand HiLink endif