 ;;;; * pjs mode
 ;;;;  (header added automatically)
 ;;;;
+
+;;; FACES ;;;
+
+;; kernel functions : yellow in italic
+(defface pjs-kernel-functions-face
+    '((t 
+       :inherit font-lock-function-name-face :slant italic))
+    "PJS kernel fonts are displayed in italic"
+    )
+
+(defvar pjs-kernel-functions-face
+  'pjs-kernel-functions-face)
+
+;; global variable definution : Red in bold
+(defface pjs-var-definition-face
+    '((t 
+       :inherit font-lock-variable-name-face :weight bold))
+    "variable defintion are in bold"
+    )
+
+(defvar pjs-var-definition-face
+  'pjs-var-definition-face)
+
+
+;; functions of the current namespace
+
+;; symbols : light blue
+
+
 ;; constants
 (defconst pjs-font-lock-constants
   (js--regexp-opt-symbol

(defun search-pjs-kernel-functions (end)
  (when (list-pjs-kernel-functions)
    (let ((search-pattern (list-pjs-kernel-functions)))
      (re-search-forward search-pattern end t))))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; highlight functions defined in the buffer

  (push (cons 'search-function-local-vars font-lock-variable-name-face) font-locks)

  ;; class members
  (push (list 'search-class-members 1 opx2-hg-getset-face) font-locks)

  ;; Global vars
  (push (cons 'search-global-vars pjs-var-definition-face) font-locks)
  
  ;; Variable definitions with type
  (push (list *pjs-vars-with-type-regexp* 1 font-lock-type-face) font-locks)
