# This file (named highlight) setup rules for highlight reserved words
# into a text files. It can be placed in /usr/local/lib/yui, in directory
# specified by environment variable YUI_PATH or in $HOME/.yui. Lines, started
# from "#" char, assumed as commnents and will be ignored
#
# Line, started with word "extension" setup filename after "." (extension).
# Highlight will applied to file with this extension. Allowed to specity
# many lines with this word, so, highlight rules will applied to all specified
# files
#
# Line, started with word "punctuate" specified highlight rule for punctuation
# and brackets, allowed parameter - yes/no, default - yes
#
# Lines, started from words "comment_eol", "comment_start", "comment_end"
# specified char sequences to detect comments in texts
# "comment_eol"   - comment, belonged to end of line ("//" in C++, "#" in Perl)
# "comment_start" - start of multi-line comment ("/*" in C/C++)
# "comment_end"   - end of multi-line comment ("*/" in C/C++)
# Allowed chars in these parameters: '/', '*', '#', ';', '!'
#
# Line, started from word "tag" specified word, which will highlighted.
# All words, which should be highlighted, should be described this way
#
# After "tag..." lines you can again place "extension..." and so on.
# In "tag" lines allowed [a-zA-Z] ASCII codes and "_" char
#

# *********************************************************
# standard C/C++ extensions
# *********************************************************
extension h
extension c
extension C
extension cc
extension CC
extension cpp
extension CPP

# highlight punctuation cgars and brackets
punctuate yes

# comments
comment_eol	//
comment_start	/*
comment_end	*/

# operators
tag break
tag case
tag continue
tag default
tag do
tag else
tag for
tag goto
tag if
tag return
tag switch
tag while

# data types
tag char
tag double
tag enum
tag float
tag int
tag long
tag short
tag struct
tag union
tag unsigned
tag void

# memory classes
tag auto
tag extern
tag register
tag static

# C++ specific words
tag class
tag const
tag delete
tag friend
tag inline
tag new
tag operator
tag overload
tag public
tag protected
tag private
tag signed
tag this
tag virtual
tag volatile

# *********************************************************
# standars Perl and Bourne Shell extensions
# *********************************************************
extension pl
extension PL
extension sh
extension SH

# highlight punctuation cgars and brackets
punctuate yes

# comments
comment_eol	#

# operators
tag if
tag elsif
tag else
tag next
tag last
tag for
tag while
tag shift

# subroutines, packages, modules
tag bless
tag caller
tag do
tag goto
tag import
tag no
tag package
tag require
tag return
tag sub
tag tie
tag untie
tag use

# mathematic functions
#tag abs
#tag atan2
#tag cos
#tag exp
#tag int
#tag log
#tag rand
#tag sin
#tag sqrt
#tag srand
#tag time

## conversion functions
#tag chr
#tag gmtime
#tag hex
#tag localtime
#tag oct
#tag ord
#tag vec

## string functions
#tag chomp
#tag chop
#tag crypt
#tag eval
#tag index
#tag length
#tag lc
#tag lcfirst
#tag quotemeta
#tag rindex
#tag substr
#tag uc
#tag ucfirst

## arrays and lists functions
#tag delete
#tag each
#tag exists
#tag grep
#tag join
#tag keys
#tag map
#tag pop
#tag push
#tag reverse
#tag scalar
#tag shift
#tag sort
#tag splice
#tag split
#tag unshift
#tag values

## file operations
#tag chmod
#tag chown
#tag truncate
#tag link
#tag lstat
#tag mkdir
#tag readlink
#tag rename
#tag rmdir
#tag stat
#tag symlink
#tag unlink
#tag utime

## input-output
#tag binmode
#tag close
#tag dbmclose
#tag dbmopen
#tag eof
#tag fcntl
#tag fileno
#tag flock
#tag getc
#tag ioctl
#tag open
#tag pipe
#tag print
#tag printf
#tag read
#tag seek
#tag select
#tag sprintf
#tag sysread
#tag syswrite
#tag tell

## directory reading
#tag closedir
#tag opendir
#tag readdir
#tag rewinddir
#tag seekdir
#tag telldir

## system interface
#tag alarm
#tag chdir
#tag chroot
#tag die
#tag exec
#tag exit
#tag fork
#tag getlogin
#tag getpgrp
#tag getppid
#tag getpriority
#tag glob
#tag kill
#tag setpgrp
#tag setpriority
#tag sleep
#tag syscall
#tag system
#tag times
#tag umask
#tag wait
#tag waitpid
#tag warn

## network management
#tag accept
#tag bind
#tag connect
#tag getpeername
#tag getsockname
#tag getsockopt
#tag listen
#tag recv
#tag send
#tag setsockopt
#tag shutdown
#tag socket
#tag socketpair

## interprocess callings
#tag msgctl
#tag msgget
#tag msgsnd
#tag msgrcv
#tag semctl
#tag semget
#tag semop
#tag shmctl
#tag shmget
#tag shmread
#tag shmwrite

## other
#tag defined
#tag do
#tag dump
#tag eval
#tag local
#tag my
#tag ref
#tag reset
#tag scalar
#tag undef
#tag wantarray

## system files interface functions
#tag passwd
#tag endpwent
#tag getpwent
#tag getpwnam
#tag getpwuid
#tag setpwent
#tag group
#tag endgrent
#tag getgrgid
#tag getgrnam
#tag getgrent
#tag hosts
#tag endhostent
#tag gethostbyaddr
#tag gethostbyname
#tag gethostent
#tag sethostent
#tag networks
#tag endnetent
#tag getnetbyaddr
#tag getnetbyname
#tag getnetent
#tag setnetent
#tag services
#tag endservent
#tag getservbyname
#tag getservbyport
#tag getervent
#tag setservent
#tag protocols
#tag endprotoent
#tag getprotobyname
#tag getprotobynumber
#tag getprotoent
#tag setprotoent
