Function: sql-product-font-lock
sql-product-font-lock is a byte-compiled function defined in
sql.el.gz.
Signature
(sql-product-font-lock KEYWORDS-ONLY IMENU)
Documentation
Configure font-lock and imenu with product-specific settings.
The KEYWORDS-ONLY flag is passed to font-lock to specify whether
only keywords should be highlighted and syntactic highlighting
skipped. The IMENU flag indicates whether imenu should also be
configured.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/sql.el.gz
(defun sql-product-font-lock (keywords-only imenu)
"Configure font-lock and imenu with product-specific settings.
The KEYWORDS-ONLY flag is passed to font-lock to specify whether
only keywords should be highlighted and syntactic highlighting
skipped. The IMENU flag indicates whether `imenu' should also be
configured."
(let
;; Get the product-specific syntax-alist.
((syntax-alist (sql-product-font-lock-syntax-alist)))
;; Get the product-specific keywords.
(setq-local sql-mode-font-lock-keywords
(append
(unless (eq sql-product 'ansi)
(sql-get-product-feature sql-product :font-lock))
;; Always highlight ANSI keywords
(sql-get-product-feature 'ansi :font-lock)
;; Fontify object names in CREATE, DROP and ALTER DDL
;; statements
(list sql-mode-font-lock-object-name)))
;; Setup font-lock. Force re-parsing of `font-lock-defaults'.
(kill-local-variable 'font-lock-set-defaults)
(setq-local font-lock-defaults
(list 'sql-mode-font-lock-keywords
keywords-only t syntax-alist))
;; Force font lock to reinitialize if it is already on
;; Otherwise, we can wait until it can be started.
(when font-lock-mode
(font-lock-mode-internal nil)
(font-lock-mode-internal t))
;; Setup imenu; it needs the same syntax-alist.
(when imenu
(setq imenu-syntax-alist syntax-alist))))