/[climacs]/climacs/packages.lisp
ViewVC logotype

Contents of /climacs/packages.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.60 - (show annotations)
Sun Mar 27 14:29:32 2005 UTC (9 years ago) by crhodes
Branch: MAIN
Changes since 1.59: +5 -0 lines
Add a half-baked half-finished ISO Prolog syntax.

Known internal lacunae:
  * does not handle quotations correctly:
    ** fails to recognize '' as an escaped quote character (and similarly
       for other quote characters);
    ** fails to canonize quoted atoms; will fail to identify the operator
       ; from the quoted atom ';';
    ** does not contain any logic for backslash-escaped data.
  * does not implement parsing floating point numbers.
  * comments before directives get italicized.
  * way too long.  Expect some refactoring.

Known suboptimal interactions with the syntax framework:
  * parses the entire buffer at every keystroke; incremental parsing caused
    a problem at some point and has not (yet) been restored.
  * displays the entire buffer at every keystroke.
  * the incremental lexer gets confused in the presence of comments.
    (see forthcoming mail to climacs-devel)
1 ;;; -*- Mode: Lisp; Package: COMMON-LISP-USER -*-
2
3 ;;; (c) copyright 2004-2005 by
4 ;;; Robert Strandh (strandh@labri.fr)
5 ;;; (c) copyright 2005 by
6 ;;; Matthieu Villeneuve (matthieu.villeneuve@free.fr)
7
8 ;;; This library is free software; you can redistribute it and/or
9 ;;; modify it under the terms of the GNU Library General Public
10 ;;; License as published by the Free Software Foundation; either
11 ;;; version 2 of the License, or (at your option) any later version.
12 ;;;
13 ;;; This library is distributed in the hope that it will be useful,
14 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 ;;; Library General Public License for more details.
17 ;;;
18 ;;; You should have received a copy of the GNU Library General Public
19 ;;; License along with this library; if not, write to the
20 ;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 ;;; Boston, MA 02111-1307 USA.
22
23 ;;; Package definitions for the Climacs editor.
24
25 (defpackage :climacs-buffer
26 (:use :clim-lisp :flexichain :binseq)
27 (:export #:buffer #:standard-buffer
28 #:mark #:left-sticky-mark #:right-sticky-mark
29 #:standard-left-sticky-mark #:standard-right-sticky-mark
30 #:clone-mark
31 #:no-such-offset #:offset-before-beginning #:offset-after-end
32 #:invalid-motion #:motion-before-beginning #:motion-after-end
33 #:size #:number-of-lines
34 #:offset #:mark< #:mark<= #:mark= #:mark> #:mark>=
35 #:forward-object #:backward-object
36 #:beginning-of-buffer #:end-of-buffer
37 #:beginning-of-buffer-p #:end-of-buffer-p
38 #:beginning-of-line #:end-of-line
39 #:beginning-of-line-p #:end-of-line-p
40 #:buffer-line-number #:buffer-column-number
41 #:line-number #:column-number
42 #:insert-buffer-object #:insert-buffer-sequence
43 #:insert-object #:insert-sequence
44 #:delete-buffer-range #:delete-range
45 #:delete-region
46 #:buffer-object #:buffer-sequence
47 #:object-before #:object-after #:region-to-sequence
48 #:low-mark #:high-mark #:modified-p #:clear-modify
49
50 #:binseq-buffer #:obinseq-buffer #:binseq2-buffer
51 #:persistent-left-sticky-mark #:persistent-right-sticky-mark
52 #:persistent-left-sticky-line-mark #:persistent-right-sticky-line-mark
53 #:p-line-mark-mixin #:buffer-line-offset
54
55 #:delegating-buffer #:implementation))
56
57 (defpackage :climacs-base
58 (:use :clim-lisp :climacs-buffer)
59 (:export #:do-buffer-region
60 #:previous-line #:next-line
61 #:open-line #:kill-line
62 #:empty-line-p
63 #:line-indentation
64 #:buffer-display-column
65 #:number-of-lines-in-region
66 #:constituentp #:whitespacep
67 #:forward-word #:backward-word
68 #:delete-word #:backward-delete-word
69 #:buffer-region-case
70 #:upcase-buffer-region #:upcase-region
71 #:downcase-buffer-region #:downcase-region
72 #:capitalize-buffer-region #:capitalize-region
73 #:upcase-word #:downcase-word #:capitalize-word
74 #:tabify-region #:untabify-region
75 #:indent-line
76 #:delete-indentation
77 #:fill-line
78 #:input-from-stream #:output-to-stream
79 #:name-mixin #:name
80 #:buffer-looking-at #:looking-at
81 #:buffer-search-forward #:buffer-search-backward
82 #:search-forward #:search-backward))
83
84 (defpackage :climacs-abbrev
85 (:use :clim-lisp :clim :climacs-buffer :climacs-base)
86 (:export #:abbrev-expander #:dictionary-abbrev-expander #:dictionary
87 #:expand-abbrev #:abbrev-mixin #:possibly-expand-abbrev
88 #:add-abbrev))
89
90 (defpackage :climacs-syntax
91 (:use :clim-lisp :clim :climacs-buffer :climacs-base :flexichain)
92 (:export #:syntax #:define-syntax
93 #:basic-syntax
94 #:update-syntax #:update-syntax-for-display
95 #:grammar #:grammar-rule #:add-rule
96 #:parser #:initial-state
97 #:advance-parse
98 #:parse-tree #:start-offset #:end-offset
99 #:lexer #:nb-lexemes #:lexeme #:insert-lexeme
100 #:incremental-lexer #:next-lexeme
101 #:delete-invalid-lexemes #:inter-lexeme-object-p
102 #:skip-inter-lexeme-objects #:update-lex
103 #:parse-stack-top #:target-parse-tree #:parse-state-empty-p
104 #:parse-stack-next #:parse-stack-symbol
105 #:parse-stack-parse-trees #:map-over-parse-trees
106 #:syntax-line-indentation
107 #:redisplay-pane-with-syntax
108 #:beginning-of-paragraph #:end-of-paragraph))
109
110 (defpackage :climacs-cl-syntax
111 (:use :clim-lisp :clim :climacs-buffer :climacs-base :flexichain :climacs-syntax)
112 (:export))
113
114 (defpackage :climacs-kill-ring
115 (:use :clim-lisp :flexichain)
116 (:export #:kill-ring #:kill-ring-length #:kill-ring-max-size
117 #:reset-yank-position #:rotate-yank-position #:kill-ring-yank
118 #:kill-ring-standard-push #:kill-ring-concatenating-push))
119
120 (defpackage :undo
121 (:use :common-lisp)
122 (:export #:no-more-undo
123 #:undo-tree #:standard-undo-tree
124 #:undo-record #:standard-undo-record
125 #:add-undo #:flip-undo-record #:undo #:redo))
126
127 (defpackage :climacs-pane
128 (:use :clim-lisp :clim :climacs-buffer :climacs-base :climacs-abbrev
129 :climacs-syntax :flexichain :undo)
130 (:export #:climacs-buffer #:needs-saving #:filename
131 #:climacs-pane #:point #:mark
132 #:redisplay-pane #:full-redisplay
133 #:page-down #:page-up
134 #:top #:bot
135 #:tab-space-count #:space-width #:tab-width
136 #:indent-tabs-mode
137 #:auto-fill-mode #:auto-fill-column
138 #:isearch-state #:search-string #:search-mark
139 #:search-forward-p #:search-success-p
140 #:isearch-mode #:isearch-states #:isearch-previous-string
141 #:query-replace-state #:string1 #:string2
142 #:query-replace-mode
143 #:with-undo
144 #:url))
145
146 (defpackage :climacs-html-syntax
147 (:use :clim-lisp :clim :climacs-buffer :climacs-base
148 :climacs-syntax :flexichain :climacs-pane))
149
150 (defpackage :climacs-prolog-syntax
151 (:use :clim-lisp :clim :climacs-buffer :climacs-base
152 :climacs-syntax :flexichain :climacs-pane)
153 (:shadow "ATOM" "CLOSE" "EXP" "INTEGER" "OPEN" "VARIABLE"))
154
155 (defpackage :climacs-gui
156 (:use :clim-lisp :clim :climacs-buffer :climacs-base :climacs-abbrev :climacs-syntax
157 :climacs-kill-ring :climacs-pane :clim-extensions :undo))
158

  ViewVC Help
Powered by ViewVC 1.1.5