git.fiddlerwoaroof.com
Raw Blame History
(in-package :cl-user)

(defun load-init-file (filename &optional (conf-dir ".lispworks.d"))
  (load (merge-pathnames
         (make-pathname :directory `(:relative ,conf-dir)
                        :name filename)
         (user-homedir-pathname))))

(change-directory (user-homedir-pathname))

(load-init-file "editor-color-theme")

(editor-color-theme:color-theme "zenburn")
(editor-color-theme:zenburn-paren-colors)

(setf (editor:variable-value "Input Format Default")
      :default)
(setf (editor:variable-value "Output Format Default")
      '(:utf-8 :eol-style :lf))

(eval-when (:compile-toplevel :load-toplevel :execute)
  (load "~/quicklisp/setup.lisp"))

(ql:quickload :lw-add-ons)

(editor:bind-key "Insert Space And Show Arglist" "Space")
(editor:bind-key "Indent Form" #("Control-c" "Meta-q"))
(editor:bind-key "Insert Parentheses For Selection" #\( :mode "Lisp")
(editor:bind-key "Indent New Line" "Return" :mode "Lisp")

(editor:defcommand "Move Over ()" (p)
                   "Move past the next close parenthesis.
Any indentation preceeding the parenthesis is deleted."
                   "Move past the next close parenthesis."
                   (declare (ignore p))
                   (let ((point (editor:current-point)))
                     (editor:with-point ((m point))
                       (cond ((editor::forward-up-list m)
                              (editor:move-point point m)
                              (editor::point-before point)
                              (loop (editor:with-point ((back point))
                                      (editor::back-to-indentation back)
                                      (unless (editor:point= back point)
                                        (return)))
                                    (editor::delete-indentation point))
                              (editor::point-after point))
                             (t (editor:editor-error))))))

(editor:bind-key "Move Over ()" #\) :mode "Lisp")


(defun ed-asdf-component (system component)
  (let ((component (asdf:find-component system component)))
    (ed (asdf:component-pathname component))))


(defun utf-8-file-encoding (pathname ef-spec buffer length)
  (declare (ignore pathname buffer length))
  (system:merge-ef-specs ef-spec :utf-8))

(setq system:*file-encoding-detection-algorithm*
      (substitute 'utf-8-file-encoding
                  'system:locale-file-encoding
                  system:*file-encoding-detection-algorithm*))
(set-default-character-element-type 'simple-char)