diff --git a/SubEthaEdit-Mac/Modes/SQL.seemode/Contents/Resources/SyntaxDefinition.xml b/SubEthaEdit-Mac/Modes/SQL.seemode/Contents/Resources/SyntaxDefinition.xml
index 90239f32b..63bd04cd4 100644
--- a/SubEthaEdit-Mac/Modes/SQL.seemode/Contents/Resources/SyntaxDefinition.xml
+++ b/SubEthaEdit-Mac/Modes/SQL.seemode/Contents/Resources/SyntaxDefinition.xml
@@ -839,6 +839,832 @@
YEAR_MONTH
ZEROFILL
ZONE
+ a
+ abort
+ abs
+ absolute
+ access
+ action
+ ada
+ add
+ admin
+ after
+ aggregate
+ alias
+ all
+ allocate
+ also
+ alter
+ always
+ analyse
+ analyze
+ and
+ any
+ are
+ array
+ as
+ asc
+ asensitive
+ assertion
+ assignment
+ asymmetric
+ at
+ atomic
+ attribute
+ attributes
+ audit
+ authorization
+ auto_increment
+ avg
+ avg_row_length
+ backup
+ backward
+ before
+ begin
+ bernoulli
+ between
+ bigint
+ binary
+ bit
+ bit_length
+ bitvar
+ blob
+ bool
+ boolean
+ both
+ breadth
+ break
+ browse
+ bulk
+ by
+ c
+ cache
+ call
+ called
+ cardinality
+ cascade
+ cascaded
+ case
+ cast
+ catalog
+ catalog_name
+ ceil
+ ceiling
+ chain
+ change
+ char
+ char_length
+ character
+ character_length
+ character_set_catalog
+ character_set_name
+ character_set_schema
+ characteristics
+ characters
+ check
+ checked
+ checkpoint
+ checksum
+ class
+ class_origin
+ clob
+ close
+ cluster
+ clustered
+ coalesce
+ cobol
+ collate
+ collation
+ collation_catalog
+ collation_name
+ collation_schema
+ collect
+ column
+ column_name
+ columns
+ command_function
+ command_function_code
+ comment
+ commit
+ committed
+ completion
+ compress
+ compute
+ condition
+ condition_number
+ connect
+ connection
+ connection_name
+ constraint
+ constraint_catalog
+ constraint_name
+ constraint_schema
+ constraints
+ constructor
+ contains
+ containstable
+ continue
+ conversion
+ convert
+ copy
+ corr
+ corresponding
+ count
+ covar_pop
+ covar_samp
+ create
+ createdb
+ createrole
+ createuser
+ cross
+ csv
+ cube
+ cume_dist
+ current
+ current_date
+ current_default_transform_group
+ current_path
+ current_role
+ current_time
+ current_timestamp
+ current_transform_group_for_type
+ current_user
+ cursor
+ cursor_name
+ cycle
+ data
+ database
+ databases
+ date
+ datetime
+ datetime_interval_code
+ datetime_interval_precision
+ day
+ day_hour
+ day_microsecond
+ day_minute
+ day_second
+ dayofmonth
+ dayofweek
+ dayofyear
+ dbcc
+ deallocate
+ dec
+ decimal
+ declare
+ default
+ defaults
+ deferrable
+ deferred
+ defined
+ definer
+ degree
+ delay_key_write
+ delayed
+ delete
+ delimiter
+ delimiters
+ dense_rank
+ deny
+ depth
+ deref
+ derived
+ desc
+ describe
+ descriptor
+ destroy
+ destructor
+ deterministic
+ diagnostics
+ dictionary
+ disable
+ disconnect
+ disk
+ dispatch
+ distinct
+ distinctrow
+ distributed
+ div
+ do
+ domain
+ double
+ drop
+ dual
+ dummy
+ dump
+ dynamic
+ dynamic_function
+ dynamic_function_code
+ each
+ element
+ else
+ elseif
+ enable
+ enclosed
+ encoding
+ encrypted
+ end
+ end-exec
+ enum
+ equals
+ errlvl
+ escape
+ escaped
+ every
+ except
+ exception
+ exclude
+ excluding
+ exclusive
+ exec
+ execute
+ existing
+ exists
+ exit
+ exp
+ explain
+ external
+ extract
+ false
+ fetch
+ fields
+ file
+ fillfactor
+ filter
+ final
+ first
+ float
+ float4
+ float8
+ floor
+ flush
+ following
+ for
+ force
+ foreign
+ fortran
+ forward
+ found
+ free
+ freetext
+ freetexttable
+ freeze
+ from
+ full
+ fulltext
+ function
+ fusion
+ g
+ general
+ generated
+ get
+ global
+ go
+ goto
+ grant
+ granted
+ grants
+ greatest
+ group
+ grouping
+ handler
+ having
+ header
+ heap
+ hierarchy
+ high_priority
+ hold
+ holdlock
+ host
+ hosts
+ hour
+ hour_microsecond
+ hour_minute
+ hour_second
+ identified
+ identity
+ identity_insert
+ identitycol
+ if
+ ignore
+ ilike
+ immediate
+ immutable
+ implementation
+ implicit
+ in
+ include
+ including
+ increment
+ index
+ indicator
+ infile
+ infix
+ inherit
+ inherits
+ initial
+ initialize
+ initially
+ inner
+ inout
+ input
+ insensitive
+ insert
+ insert_id
+ instance
+ instantiable
+ instead
+ int
+ int1
+ int2
+ int3
+ int4
+ int8
+ integer
+ intersect
+ intersection
+ interval
+ into
+ invoker
+ is
+ isam
+ isnull
+ isolation
+ iterate
+ join
+ k
+ key
+ key_member
+ key_type
+ keys
+ kill
+ lancompiler
+ language
+ large
+ last
+ last_insert_id
+ lateral
+ lead
+ leading
+ least
+ leave
+ left
+ length
+ less
+ level
+ like
+ limit
+ lineno
+ lines
+ listen
+ ln
+ load
+ local
+ localtime
+ localtimestamp
+ location
+ locator
+ lock
+ login
+ logs
+ long
+ longblob
+ longtext
+ loop
+ low_priority
+ lower
+ m
+ map
+ match
+ matched
+ max
+ max_rows
+ maxextents
+ maxvalue
+ mediumblob
+ mediumint
+ mediumtext
+ member
+ merge
+ message_length
+ message_octet_length
+ message_text
+ method
+ middleint
+ min
+ min_rows
+ minus
+ minute
+ minute_microsecond
+ minute_second
+ minvalue
+ mlslabel
+ mod
+ mode
+ modifies
+ modify
+ module
+ month
+ monthname
+ more
+ move
+ multiset
+ mumps
+ myisam
+ name
+ names
+ national
+ natural
+ nchar
+ nclob
+ nesting
+ new
+ next
+ no
+ no_write_to_binlog
+ noaudit
+ nocheck
+ nocompress
+ nocreatedb
+ nocreaterole
+ nocreateuser
+ noinherit
+ nologin
+ nonclustered
+ none
+ normalize
+ normalized
+ nosuperuser
+ not
+ nothing
+ notify
+ notnull
+ nowait
+ null
+ nullable
+ nullif
+ nulls
+ number
+ numeric
+ object
+ octet_length
+ octets
+ of
+ off
+ offline
+ offset
+ offsets
+ oids
+ old
+ on
+ online
+ only
+ open
+ opendatasource
+ openquery
+ openrowset
+ openxml
+ operation
+ operator
+ optimize
+ option
+ optionally
+ options
+ or
+ order
+ ordering
+ ordinality
+ others
+ out
+ outer
+ outfile
+ output
+ over
+ overlaps
+ overlay
+ overriding
+ owner
+ pack_keys
+ pad
+ parameter
+ parameter_mode
+ parameter_name
+ parameter_ordinal_position
+ parameter_specific_catalog
+ parameter_specific_name
+ parameter_specific_schema
+ parameters
+ partial
+ partition
+ pascal
+ password
+ path
+ pctfree
+ percent
+ percent_rank
+ percentile_cont
+ percentile_disc
+ placing
+ plan
+ pli
+ position
+ postfix
+ power
+ preceding
+ precision
+ prefix
+ preorder
+ prepare
+ prepared
+ preserve
+ primary
+ print
+ prior
+ privileges
+ proc
+ procedural
+ procedure
+ process
+ processlist
+ public
+ purge
+ quote
+ raid0
+ raiserror
+ range
+ rank
+ raw
+ read
+ reads
+ readtext
+ real
+ recheck
+ reconfigure
+ recursive
+ ref
+ references
+ referencing
+ regexp
+ regr_avgx
+ regr_avgy
+ regr_count
+ regr_intercept
+ regr_r2
+ regr_slope
+ regr_sxx
+ regr_sxy
+ regr_syy
+ reindex
+ relative
+ release
+ reload
+ rename
+ repeat
+ repeatable
+ replace
+ replication
+ require
+ reset
+ resignal
+ resource
+ restart
+ restore
+ restrict
+ result
+ return
+ returned_cardinality
+ returned_length
+ returned_octet_length
+ returned_sqlstate
+ returns
+ revoke
+ right
+ rlike
+ role
+ rollback
+ rollup
+ routine
+ routine_catalog
+ routine_name
+ routine_schema
+ row
+ row_count
+ row_number
+ rowcount
+ rowguidcol
+ rowid
+ rownum
+ rows
+ rule
+ save
+ savepoint
+ scale
+ schema
+ schema_name
+ schemas
+ scope
+ scope_catalog
+ scope_name
+ scope_schema
+ scroll
+ search
+ second
+ second_microsecond
+ section
+ security
+ select
+ self
+ sensitive
+ separator
+ sequence
+ serializable
+ server_name
+ session
+ session_user
+ set
+ setof
+ sets
+ setuser
+ share
+ show
+ shutdown
+ signal
+ similar
+ simple
+ size
+ smallint
+ some
+ soname
+ source
+ space
+ spatial
+ specific
+ specific_name
+ specifictype
+ sql
+ sql_big_result
+ sql_big_selects
+ sql_big_tables
+ sql_calc_found_rows
+ sql_log_off
+ sql_log_update
+ sql_low_priority_updates
+ sql_select_limit
+ sql_small_result
+ sql_warnings
+ sqlca
+ sqlcode
+ sqlerror
+ sqlexception
+ sqlstate
+ sqlwarning
+ sqrt
+ ssl
+ stable
+ start
+ starting
+ state
+ statement
+ static
+ statistics
+ status
+ stddev_pop
+ stddev_samp
+ stdin
+ stdout
+ storage
+ straight_join
+ strict
+ string
+ structure
+ style
+ subclass_origin
+ sublist
+ submultiset
+ substring
+ successful
+ sum
+ superuser
+ symmetric
+ synonym
+ sysdate
+ sysid
+ system
+ system_user
+ table
+ table_name
+ tables
+ tablesample
+ tablespace
+ temp
+ template
+ temporary
+ terminate
+ terminated
+ text
+ textsize
+ than
+ then
+ ties
+ time
+ timestamp
+ timezone_hour
+ timezone_minute
+ tinyblob
+ tinyint
+ tinytext
+ to
+ toast
+ top
+ top_level_count
+ trailing
+ tran
+ transaction
+ transaction_active
+ transactions_committed
+ transactions_rolled_back
+ transform
+ transforms
+ translate
+ translation
+ treat
+ trigger
+ trigger_catalog
+ trigger_name
+ trigger_schema
+ trim
+ true
+ truncate
+ trusted
+ tsequal
+ type
+ uescape
+ uid
+ unbounded
+ uncommitted
+ under
+ undo
+ unencrypted
+ union
+ unique
+ unknown
+ unlisten
+ unlock
+ unnamed
+ unnest
+ unsigned
+ until
+ update
+ updatetext
+ upper
+ usage
+ use
+ user
+ user_defined_type_catalog
+ user_defined_type_code
+ user_defined_type_name
+ user_defined_type_schema
+ using
+ utc_date
+ utc_time
+ utc_timestamp
+ vacuum
+ valid
+ validate
+ validator
+ value
+ values
+ var_pop
+ var_samp
+ varbinary
+ varchar
+ varchar2
+ varcharacter
+ variable
+ variables
+ varying
+ verbose
+ view
+ volatile
+ waitfor
+ when
+ whenever
+ where
+ while
+ width_bucket
+ window
+ with
+ within
+ without
+ work
+ write
+ writetext
+ x509
+ xor
+ year
+ year_month
+ zerofill
+ zone
@@ -856,15 +1682,30 @@
-
+
+
"
- ((?<!\\)(\\\\)*)"
+ (((?<!\\)(\\\\)*)|^)"
-
+
+
+ '
+ (((?<!\\)(\\\\)*)|^)'
+
+
+
+ (?<![^;\s])CASE(?!\S)
+ (?<!\S)END(?!\S)
+ END
+
+
+
+
+
(?<![^;\s])case(?!\S)
- (?<!\S)done(?!\S)
- done
+ (?<!\S)end(?!\S)
+ end
diff --git a/SubEthaEdit-Mac/Modes/SQL.seemode/Contents/Resources/de.lproj/Localizable.strings b/SubEthaEdit-Mac/Modes/SQL.seemode/Contents/Resources/de.lproj/Localizable.strings
index 01a28bbb2..73192d50b 100644
Binary files a/SubEthaEdit-Mac/Modes/SQL.seemode/Contents/Resources/de.lproj/Localizable.strings and b/SubEthaEdit-Mac/Modes/SQL.seemode/Contents/Resources/de.lproj/Localizable.strings differ
diff --git a/SubEthaEdit-Mac/Modes/SQL.seemode/Contents/Resources/en.lproj/Localizable.strings b/SubEthaEdit-Mac/Modes/SQL.seemode/Contents/Resources/en.lproj/Localizable.strings
index 054614edb..3a8915543 100644
Binary files a/SubEthaEdit-Mac/Modes/SQL.seemode/Contents/Resources/en.lproj/Localizable.strings and b/SubEthaEdit-Mac/Modes/SQL.seemode/Contents/Resources/en.lproj/Localizable.strings differ