[lice @ get doctor working. fix line-end-position. fix move-to-left-margin.]
[lice.git] / major-mode.lisp
blob8d52237c09bc96ed541e2a908e8fdececb8589a8
1 ;;; Implement the major mode system
3 (in-package :lice)
5 (defclass major-mode ()
6 ((name :type string :initarg :name :accessor major-mode-name)
7 (map :type keymap :initarg :map :accessor major-mode-map)
8 (syntax :initarg :syntax-table :accessor major-mode-syntax-table)
9 (hook :initarg :hook :accessor major-mode-hook)
10 (init :initarg :init :accessor major-mode-init)
11 (inherit-map :type list :initarg :inherit-map :accessor major-mode-inherit-map)
12 (inherit-syntax :type list :initarg :inherit-syntax :accessor major-mode-inherit-syntax)
13 (inherit-init :type list :initarg :inherit-init :accessor major-mode-inherit-init))
14 (:default-initargs
15 :map (make-sparse-keymap)
16 :syntax-table *standard-syntax-table*
17 :inherit-map nil
18 :inherit-syntax nil
19 :inherit-init nil
20 :hook nil
21 :init nil)
22 (:documentation "A Major Mode class."))
24 (provide :lice-0.1/major-mode)