Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; This is the master configuration file for ABLE. All settings in this file
;;; can be overriden by creating a file named .able in your home directory,
;;; e.g. ~/.able, and then using (setf able::*setting* ...) as required.
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(in-package :able)
(defparameter *window-width* 640)
(defparameter *window-height* 480)
(defparameter *window-x* 30)
(defparameter *window-y* 30)
(defparameter *listener-lines* 10
"The number of text output lines to display in the listener. The listener can
be scrolled using the mouse wheel but only this number of lines are displayed
at a time.")
(defparameter *buffer-font* "Courier 12 normal roman"
"The font used for the editor and REPL. Courier is guaranteed to be
available on all Tk platforms.")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Syntax highlighting.
;;;
;;; These are configurable using 'html style' hex values or standard colour
;;; names (refer to the Tcl/Tk documentation).
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defparameter *highlight-text* "#2D1E27")
(defparameter *highlight-background* "#FFFFFF")
(defparameter *highlight-primary* "#1900D5")
(defparameter *highlight-secondary* "#991C1C")
(defparameter *highlight-comments* "#00732A")
(defparameter *highlight-paren-match* "#F3752F")
(defparameter *highlight-error* "#FF4343")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;
;;; Keyboard bindings.
;;;
;;; Some keyboard bindings are pre-set by Tcl and can't be changed without
;;; modifying the Tk installation. For a list of all available key symbol names
;;; please refer to the Tcl/Tk documentation.
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defparameter *key-new-file* "<Control-n>" "Create a new file")
(defparameter *key-open-file* "<Control-o>" "Open a new file")
(defparameter *key-load-file* "<Control-l>" "Load a file from disc")
(defparameter *key-close-file* "<Control-w>" "Close a file")
(defparameter *key-save-file* "<Control-s>" "Save the current file")
(defparameter *key-save-as-file* "<Control-S>" "Save the current file under a new name")
(defparameter *key-reload-file* "<Control-r>" "Re-load the current file")
(defparameter *key-compile-file* "<Control-k>" "Compile the current file")
(defparameter *key-next-file* "<Control-b>" "Cycle through open files")
(defparameter *key-find* "<Control-f>" "Find text in current file")
(defparameter *key-find-again* "<Control-g>" "Repeat the previous search")
(defparameter *key-cut* "<Control-x>" "Cut the selected text")
(defparameter *key-copy* "<Control-c>" "Copy the selected text")
(defparameter *key-paste* "<Control-v>" "Paste the selected text")
(defparameter *key-select-all* "<Control-a>" "Select all text in the file")
(defparameter *key-goto-line* "<Control-i>" "Goto line number")
(defparameter *key-reformat* "<Control-j>" "Indent the current form")
(defparameter *key-macro-expand* "<Control-m>" "Macroexpand form in listener")
(defparameter *key-copy-to-repl* "<Control-e>" "Evaluate form")
(defparameter *key-quit-able* "<Control-q>" "Quit ABLE")
(defparameter *key-code-complete* "<Tab>" "Cycle available code completions")
(defparameter *key-lookup* "<Control-d>" "Find definition in Hyperspec or src")
(defparameter *key-asdf-load* "<Control-p>" "Load an ASDF system")
(defparameter *key-reset-listener* "<Control-0>" "Reset the listener")
(defparameter *indentation-rules* '(("if" . 4)
("cond" . 6)
("and" . 5)
("or" . 4)
("eq" . 4)
("list" . 6)
("loop" . 6))
"This is a list of pairs comprising the symbol and the required indentation
size. There are additional rules for let blocks as well as a default
2-character indent.")
(defparameter *hyperspec-root* "http://www.lispworks.com/documentation/HyperSpec/Body/"
"Where to find the Common Lisp Hyperspec. The default is to use the version
on the LispWorks server but this can be overriden with a local URL to a
copy on your machine. You must ensure that this uses a URL syntax understood
by the browser specified in *web-browser* below")
(defparameter *web-browser*
(first
(list
#+(or (and :clisp :win32) (and :sbcl :win32) (and :ccl :windows))
"C:/Progra~1/Intern~1/iexplore.exe"
#+(or (and :clisp :unix (not :macos)) (and :sbcl :linux) (and :ccl :linux))
"/usr/bin/firefox"
#+(or (and :ccl :darwin) (and :clisp :macos) (and :sbcl :darwin))
"open"
;; default
"firefox")))
(defparameter *user-load-paths* nil
"A list of additional user specified places to find systems")
(defparameter *watch-directories* nil
"A list of directories to watch and parse for defining forms")