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

Contents of /climacs/packages.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.105 - (hide annotations)
Sun Jul 23 11:59:38 2006 UTC (7 years, 8 months ago) by thenriksen
Branch: MAIN
Changes since 1.104: +2 -1 lines
Export the `as-offsets' macro from :climacs-base.
1 strandh 1.1 ;;; -*- Mode: Lisp; Package: COMMON-LISP-USER -*-
2    
3 mvilleneuve 1.29 ;;; (c) copyright 2004-2005 by
4 strandh 1.6 ;;; Robert Strandh (strandh@labri.fr)
5 mvilleneuve 1.29 ;;; (c) copyright 2005 by
6     ;;; Matthieu Villeneuve (matthieu.villeneuve@free.fr)
7 thenriksen 1.104 ;;; (c) copyright 2006 by
8     ;;; Troels Henriksen (athas@sigkill.dk)
9 strandh 1.1
10     ;;; This library is free software; you can redistribute it and/or
11     ;;; modify it under the terms of the GNU Library General Public
12     ;;; License as published by the Free Software Foundation; either
13     ;;; version 2 of the License, or (at your option) any later version.
14     ;;;
15     ;;; This library is distributed in the hope that it will be useful,
16     ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17     ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18     ;;; Library General Public License for more details.
19     ;;;
20     ;;; You should have received a copy of the GNU Library General Public
21     ;;; License along with this library; if not, write to the
22     ;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
23     ;;; Boston, MA 02111-1307 USA.
24    
25     ;;; Package definitions for the Climacs editor.
26    
27 thenriksen 1.104 (in-package :cl-user)
28    
29 strandh 1.1 (defpackage :climacs-buffer
30 abakic 1.41 (:use :clim-lisp :flexichain :binseq)
31 strandh 1.1 (:export #:buffer #:standard-buffer
32     #:mark #:left-sticky-mark #:right-sticky-mark
33     #:standard-left-sticky-mark #:standard-right-sticky-mark
34 rstrandh 1.50 #:clone-mark
35     #:no-such-offset #:offset-before-beginning #:offset-after-end
36     #:invalid-motion #:motion-before-beginning #:motion-after-end
37     #:size #:number-of-lines
38 strandh 1.1 #:offset #:mark< #:mark<= #:mark= #:mark> #:mark>=
39 thenriksen 1.100 #:forward-object
40     #:backward-object
41     #:forward-line-start #:backward-line-start
42     #:forward-line-end #:backward-line-end
43 strandh 1.1 #:beginning-of-buffer #:end-of-buffer
44     #:beginning-of-buffer-p #:end-of-buffer-p
45     #:beginning-of-line #:end-of-line
46     #:beginning-of-line-p #:end-of-line-p
47 mvilleneuve 1.31 #:buffer-line-number #:buffer-column-number
48 strandh 1.1 #:line-number #:column-number
49 strandh 1.3 #:insert-buffer-object #:insert-buffer-sequence
50 thenriksen 1.90 #:buffer-substring
51 abakic 1.24 #:insert-object #:insert-sequence
52 strandh 1.3 #:delete-buffer-range #:delete-range
53 strandh 1.1 #:delete-region
54 strandh 1.3 #:buffer-object #:buffer-sequence
55 rstrandh 1.7 #:object-before #:object-after #:region-to-sequence
56 abakic 1.41 #:low-mark #:high-mark #:modified-p #:clear-modify
57 abakic 1.56 #:binseq-buffer #:obinseq-buffer #:binseq2-buffer
58 abakic 1.51 #:persistent-left-sticky-mark #:persistent-right-sticky-mark
59 abakic 1.56 #:persistent-left-sticky-line-mark #:persistent-right-sticky-line-mark
60     #:p-line-mark-mixin #:buffer-line-offset
61 thenriksen 1.103 #:delegating-buffer #:implementation)
62     (:documentation "An implementation of the Climacs buffer
63     protocol. This package is quite low-level, not syntax-aware,
64     not CLIM-aware and not user-oriented at all."))
65 abakic 1.51
66 thenriksen 1.100 (defpackage :climacs-kill-ring
67     (:use :clim-lisp :flexichain)
68     (:export #:kill-ring
69     #:kill-ring-length #:kill-ring-max-size
70     #:append-next-p
71     #:reset-yank-position #:rotate-yank-position #:kill-ring-yank
72     #:kill-ring-standard-push #:kill-ring-concatenating-push
73 thenriksen 1.103 #:kill-ring-reverse-concatenating-push)
74     (:documentation "An implementation of a kill ring."))
75 strandh 1.1
76     (defpackage :climacs-base
77 thenriksen 1.100 (:use :clim-lisp :climacs-buffer :climacs-kill-ring)
78 thenriksen 1.105 (:export #:as-offsets
79     #:do-buffer-region
80 thenriksen 1.87 #:do-buffer-region-lines
81 rstrandh 1.25 #:previous-line #:next-line
82 thenriksen 1.102 #:open-line
83     #:delete-line
84 mvilleneuve 1.35 #:empty-line-p
85     #:line-indentation
86 mvilleneuve 1.36 #:buffer-display-column
87 rstrandh 1.11 #:number-of-lines-in-region
88 thenriksen 1.100 #:constituentp
89 thenriksen 1.101 #:just-n-spaces
90 thenriksen 1.102 #:buffer-whitespacep
91 strandh 1.4 #:forward-word #:backward-word
92 mvilleneuve 1.43 #:buffer-region-case
93 rstrandh 1.17 #:input-from-stream #:output-to-stream
94 rstrandh 1.20 #:name-mixin #:name
95 abakic 1.49 #:buffer-looking-at #:looking-at
96 rstrandh 1.20 #:buffer-search-forward #:buffer-search-backward
97 abakic 1.73 #:buffer-re-search-forward #:buffer-re-search-backward
98     #:search-forward #:search-backward
99 thenriksen 1.100 #:re-search-forward #:re-search-backward
100 thenriksen 1.102 #:downcase-buffer-region #:downcase-region
101     #:upcase-buffer-region #:upcase-region
102     #:capitalize-buffer-region #:capitalize-region
103     #:tabify-region #:untabify-region
104     #:indent-line #:delete-indentation
105 thenriksen 1.103 #:*kill-ring*)
106     (:documentation "Basic functionality built on top of the buffer
107     protocol. Here is where we define slightly higher level
108     functions, that can be directly implemented in terms of the
109     buffer protocol, but that are not, strictly speaking, part of
110     that protocol. The functions in this package are not
111     syntax-aware, and are thus limited in what they can do. They
112     percieve the buffer as little more than a sequence of
113     characters."))
114 strandh 1.1
115 strandh 1.2 (defpackage :climacs-abbrev
116     (:use :clim-lisp :clim :climacs-buffer :climacs-base)
117     (:export #:abbrev-expander #:dictionary-abbrev-expander #:dictionary
118 rstrandh 1.27 #:expand-abbrev #:abbrev-mixin #:possibly-expand-abbrev
119     #:add-abbrev))
120 strandh 1.2
121 rstrandh 1.8 (defpackage :climacs-syntax
122 rstrandh 1.16 (:use :clim-lisp :clim :climacs-buffer :climacs-base :flexichain)
123 rstrandh 1.30 (:export #:syntax #:define-syntax
124 thenriksen 1.88 #:eval-option
125     #:define-option-for-syntax
126 dmurray 1.78 #:syntax-from-name
127 rstrandh 1.32 #:basic-syntax
128 rstrandh 1.46 #:update-syntax #:update-syntax-for-display
129 rstrandh 1.57 #:grammar #:grammar-rule #:add-rule
130     #:parser #:initial-state
131 rstrandh 1.53 #:advance-parse
132 rstrandh 1.57 #:parse-tree #:start-offset #:end-offset
133     #:lexer #:nb-lexemes #:lexeme #:insert-lexeme
134     #:incremental-lexer #:next-lexeme
135     #:delete-invalid-lexemes #:inter-lexeme-object-p
136     #:skip-inter-lexeme-objects #:update-lex
137 rstrandh 1.55 #:parse-stack-top #:target-parse-tree #:parse-state-empty-p
138 rstrandh 1.53 #:parse-stack-next #:parse-stack-symbol
139     #:parse-stack-parse-trees #:map-over-parse-trees
140 rstrandh 1.63 #:no-such-operation #:no-expression
141 dmurray 1.82 #:name-for-info-pane
142 mvilleneuve 1.35 #:syntax-line-indentation
143 rstrandh 1.63 #:forward-expression #:backward-expression
144 rstrandh 1.64 #:eval-defun
145 dmurray 1.74 #:beginning-of-definition #:end-of-definition
146 rstrandh 1.58 #:redisplay-pane-with-syntax
147 dmurray 1.74 #:backward-paragraph #:forward-paragraph
148     #:backward-sentence #:forward-sentence
149 dmurray 1.75 #:forward-list #:backward-list
150     #:down-list #:up-list
151     #:backward-down-list #:backward-up-list
152 rstrandh 1.72 #:syntax-line-comment-string
153     #:line-comment-region #:comment-region
154 thenriksen 1.100 #:line-uncomment-region #:uncomment-region
155     #:word-constituentp
156     #:whitespacep
157     #:page-delimiter
158 thenriksen 1.103 #:paragraph-delimiter)
159     (:documentation "The Climacs syntax protocol. Contains
160     functions that can be used to implement higher-level operations
161     on buffer contents."))
162 ejohnson 1.12
163 rstrandh 1.40 (defpackage :undo
164 thenriksen 1.103 (:use :clim-lisp)
165 rstrandh 1.40 (:export #:no-more-undo
166     #:undo-tree #:standard-undo-tree
167     #:undo-record #:standard-undo-record
168     #:add-undo #:flip-undo-record #:undo #:redo))
169    
170 rstrandh 1.32 (defpackage :climacs-pane
171     (:use :clim-lisp :clim :climacs-buffer :climacs-base :climacs-abbrev
172 dmurray 1.96 :climacs-syntax :flexichain :undo)
173 dmurray 1.92 (:export #:climacs-buffer #:needs-saving
174     #:filepath #:file-saved-p #:file-write-time
175 dmurray 1.79 #:read-only-p #:buffer-read-only
176 rstrandh 1.32 #:climacs-pane #:point #:mark
177 thenriksen 1.89 #:clear-cache
178 rstrandh 1.32 #:redisplay-pane #:full-redisplay
179 dmurray 1.77 #:display-cursor
180 dmurray 1.93 #:display-region
181 rstrandh 1.32 #:page-down #:page-up
182 rstrandh 1.54 #:top #:bot
183     #:tab-space-count #:space-width #:tab-width
184 mvilleneuve 1.35 #:indent-tabs-mode
185 mvilleneuve 1.36 #:auto-fill-mode #:auto-fill-column
186 mvilleneuve 1.44 #:isearch-state #:search-string #:search-mark
187     #:search-forward-p #:search-success-p
188 mvilleneuve 1.38 #:isearch-mode #:isearch-states #:isearch-previous-string
189 mvilleneuve 1.42 #:query-replace-state #:string1 #:string2
190     #:query-replace-mode
191 dmurray 1.93 #:region-visible-p
192 rstrandh 1.40 #:with-undo
193 mretzlaff 1.80 #:url
194     #:climacs-textual-view #:+climacs-textual-view+))
195 rstrandh 1.53
196 thenriksen 1.100 (defpackage :climacs-motion
197 thenriksen 1.103 (:use :clim-lisp :climacs-base :climacs-buffer :climacs-syntax)
198 thenriksen 1.100 (:export #:forward-to-word-boundary #:backward-to-word-boundary
199     #:define-motion-fns
200     #:beep-limit-action #:revert-limit-action #:error-limit-action
201     #:motion-limit-error
202     #:make-diligent-motor
203    
204     ;; Lines
205     #:forward-one-line
206     #:backward-one-line
207     #:forward-line
208     #:backward-line
209    
210     ;; Words
211     #:forward-one-word
212     #:backward-one-word
213     #:forward-word
214     #:backward-word
215    
216     ;; Pages
217     #:forward-one-page
218     #:backward-one-page
219     #:forward-page
220     #:backward-page
221    
222     ;; Expressions
223     #:forward-one-expression
224     #:backward-one-expression
225     #:forward-expression
226     #:backward-expression
227    
228     ;; Definitions
229     #:forward-one-definition
230     #:backward-one-definition
231     #:forward-definition
232     #:backward-definition
233    
234     ;; Up
235     #:forward-one-up
236     #:backward-one-up
237     #:forward-up
238     #:backward-up
239    
240     ;; Down
241     #:forward-one-down
242     #:backward-one-down
243     #:forward-down
244     #:backward-down
245    
246     ;; Paragraphs
247     #:forward-one-paragraph
248     #:backward-one-paragraph
249     #:forward-paragraph
250     #:backward-paragraph
251    
252     ;; Sentences
253     #:forward-one-sentence
254     #:backward-one-sentence
255     #:forward-sentence
256 thenriksen 1.103 #:backward-sentence)
257     (:documentation "Functions and facilities for moving a mark
258     around by syntactical elements. The functions in this package
259     are syntax-aware, and their behavior is based on the semantics
260     defined by the syntax of the buffer, that the mark they are
261     manipulating belong to. These functions are also directly used
262     to implement the motion commands."))
263 thenriksen 1.100
264     (defpackage :climacs-editing
265 thenriksen 1.103 (:use :clim-lisp :climacs-base :climacs-buffer
266 thenriksen 1.100 :climacs-syntax :climacs-motion :climacs-pane :climacs-kill-ring)
267     (:export #:transpose-objects
268    
269     ;; Lines
270     #:forward-delete-line #:backward-delete-line
271     #:forward-kill-line #:backward-kill-line
272     #:transpose-lines
273     #:forward-delete-line-start #:backward-delete-line-start
274     #:forward-kill-line-start #:backward-kill-line-start
275     #:transpose-line-starts
276    
277     ;; Words
278     #:forward-delete-word #:backward-delete-word
279     #:forward-kill-word #:backward-kill-word
280     #:transpose-words
281    
282     ;; Pages
283     #:forward-delete-page #:backward-delete-page
284     #:forward-kill-page #:backward-kill-page
285     #:transpose-page
286    
287     ;; Expressions
288     #:forward-delete-expression #:backward-delete-expression
289     #:forward-kill-expression #:backward-kill-expression
290     #:transpose-expressions
291    
292     ;; Definitions
293     #:forward-delete-definition #:backward-delete-definition
294     #:forward-kill-definition #:backward-kill-definition
295     #:transpose-definitions
296    
297     ;; Paragraphs
298     #:forward-delete-paragraph #:backward-delete-paragraph
299     #:forward-kill-paragraph #:backward-kill-paragraph
300     #:transpose-paragraphs
301    
302     ;; Sentences
303     #:forward-delete-sentence #:backward-delete-sentence
304     #:forward-kill-sentence #:backward-kill-sentence
305     #:transpose-sentences
306    
307 thenriksen 1.102
308     #:downcase-word #:upcase-word #:capitalize-word
309    
310 thenriksen 1.100 #:indent-region
311     #:fill-line
312 thenriksen 1.103 #:fill-region)
313     (:documentation "Functions and facilities for changing the
314     buffer contents by syntactical elements. The functions in this package
315     are syntax-aware, and their behavior is based on the semantics
316     defined by the syntax of the buffer, that the mark they are
317     manipulating belong to. These functions are also directly used
318     to implement the editing commands."))
319 thenriksen 1.100
320 thenriksen 1.84 (defpackage :climacs-gui
321 tmoore 1.85 (:use :clim-lisp :clim :climacs-buffer :climacs-base
322 thenriksen 1.100 :climacs-abbrev :climacs-syntax :climacs-motion
323     :climacs-kill-ring :climacs-pane :clim-extensions
324     :undo :esa :climacs-editing :climacs-motion)
325 thenriksen 1.84 ;;(:import-from :lisp-string)
326 thenriksen 1.104 (:export #:climacs ; Frame.
327    
328 thenriksen 1.84 ;; GUI functions follow.
329 thenriksen 1.104 #:current-window
330     #:current-point
331     #:current-buffer
332     #:current-buffer
333     #:point
334     #:syntax
335     #:mark
336     #:insert-character
337     #:base-table
338     #:buffer-table
339     #:case-table
340     #:comment-table
341     #:deletion-table
342     #:development-table
343     #:editing-table
344     #:fill-table
345     #:indent-table
346     #:info-table
347     #:marking-table
348     #:movement-table
349     #:pane-table
350     #:search-table
351     #:self-insert-table
352     #:window-table
353    
354     ;; Some configuration variables
355     #:*bg-color*
356     #:*fg-color*
357     #:*info-bg-color*
358     #:*info-fg-color*
359     #:*mini-bg-color*
360     #:*mini-fg-color*))
361 thenriksen 1.100
362 thenriksen 1.103 (defpackage :climacs-commands
363 thenriksen 1.100 (:use :clim-lisp :clim :climacs-base :climacs-buffer
364 thenriksen 1.103 :climacs-syntax :climacs-motion :climacs-editing
365     :climacs-gui :esa :climacs-kill-ring)
366     (:export #:define-motion-commands
367     #:define-deletion-commands
368     #:define-editing-commands)
369     (:documentation "This package is meant to contain Climacs'
370     command definitions, as well as some useful automatic
371     command-defining facilities."))
372 thenriksen 1.84
373 thenriksen 1.95 (defpackage :climacs-fundamental-syntax
374     (:use :clim-lisp :clim :climacs-buffer :climacs-base
375     :climacs-syntax :flexichain :climacs-pane)
376     (:export #:fundamental-syntax))
377    
378 rstrandh 1.53 (defpackage :climacs-html-syntax
379     (:use :clim-lisp :clim :climacs-buffer :climacs-base
380     :climacs-syntax :flexichain :climacs-pane))
381 rstrandh 1.32
382 crhodes 1.60 (defpackage :climacs-prolog-syntax
383     (:use :clim-lisp :clim :climacs-buffer :climacs-base
384     :climacs-syntax :flexichain :climacs-pane)
385 tmoore 1.85 (:shadow #:atom #:close #:exp #:integer #:open #:variable))
386 pfong 1.61
387     (defpackage :climacs-cl-syntax
388 rstrandh 1.63 (:use :clim-lisp :clim :climacs-buffer :climacs-base
389     :climacs-syntax :flexichain :climacs-pane)
390     (:export))
391    
392     (defpackage :climacs-lisp-syntax
393 tmoore 1.85 (:use :clim-lisp :clim :clim-extensions :climacs-buffer :climacs-base
394 thenriksen 1.100 :climacs-syntax :flexichain :climacs-pane :climacs-gui :climacs-motion :climacs-editing)
395 thenriksen 1.104 (:export #:lisp-string
396     #:edit-definition))
397    
398     (defpackage :climacs
399     (:use :clim-lisp :clim :clim-sys :clim-extensions :climacs-gui)
400     (:export #:climacs
401     #:climacs-rv
402     #:edit-definition)
403     (:documentation "Package containing entry points to Climacs."))

  ViewVC Help
Powered by ViewVC 1.1.5