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

Contents of /climacs/packages.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.63 - (hide annotations)
Mon May 30 07:25:13 2005 UTC (8 years, 10 months ago) by rstrandh
Branch: MAIN
Changes since 1.62: +7 -0 lines
Alternative syntax for editing common lisp (called "Lisp").

I have not completely lost hope of making the Earley-based syntax
module fast enough, but as of now I don't know how.

This syntax module provides an incremental resynchronizing LR parser
for Common Lisp.  It is fast enough the parse tree for the entire
buffer is kept updated, as opposed to just for what is visible in the
CLIM pane.

Ultimately, I hope to factor out the parts that are not specific to
Lisp into a different module, perhaps the existing syntax.lisp file.
I'll be interested in your opinions.
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 strandh 1.1
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 abakic 1.41 (:use :clim-lisp :flexichain :binseq)
27 strandh 1.1 (:export #:buffer #:standard-buffer
28     #:mark #:left-sticky-mark #:right-sticky-mark
29     #:standard-left-sticky-mark #:standard-right-sticky-mark
30 rstrandh 1.50 #: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 strandh 1.1 #:offset #:mark< #:mark<= #:mark= #:mark> #:mark>=
35 rstrandh 1.47 #:forward-object #:backward-object
36 strandh 1.1 #: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 mvilleneuve 1.31 #:buffer-line-number #:buffer-column-number
41 strandh 1.1 #:line-number #:column-number
42 strandh 1.3 #:insert-buffer-object #:insert-buffer-sequence
43 abakic 1.24 #:insert-object #:insert-sequence
44 strandh 1.3 #:delete-buffer-range #:delete-range
45 strandh 1.1 #:delete-region
46 strandh 1.3 #:buffer-object #:buffer-sequence
47 rstrandh 1.7 #:object-before #:object-after #:region-to-sequence
48 abakic 1.41 #:low-mark #:high-mark #:modified-p #:clear-modify
49    
50 abakic 1.56 #:binseq-buffer #:obinseq-buffer #:binseq2-buffer
51 abakic 1.51 #:persistent-left-sticky-mark #:persistent-right-sticky-mark
52 abakic 1.56 #:persistent-left-sticky-line-mark #:persistent-right-sticky-line-mark
53     #:p-line-mark-mixin #:buffer-line-offset
54 abakic 1.51
55     #:delegating-buffer #:implementation))
56 strandh 1.1
57     (defpackage :climacs-base
58     (:use :clim-lisp :climacs-buffer)
59 mvilleneuve 1.28 (:export #:do-buffer-region
60 rstrandh 1.25 #:previous-line #:next-line
61 strandh 1.1 #:open-line #:kill-line
62 mvilleneuve 1.35 #:empty-line-p
63     #:line-indentation
64 mvilleneuve 1.36 #:buffer-display-column
65 rstrandh 1.11 #:number-of-lines-in-region
66 rstrandh 1.15 #:constituentp #:whitespacep
67 strandh 1.4 #:forward-word #:backward-word
68 rstrandh 1.15 #:delete-word #:backward-delete-word
69 mvilleneuve 1.43 #:buffer-region-case
70     #:upcase-buffer-region #:upcase-region
71     #:downcase-buffer-region #:downcase-region
72     #:capitalize-buffer-region #:capitalize-region
73 rstrandh 1.26 #:upcase-word #:downcase-word #:capitalize-word
74 mvilleneuve 1.31 #:tabify-region #:untabify-region
75 mvilleneuve 1.35 #:indent-line
76 mvilleneuve 1.34 #:delete-indentation
77 mvilleneuve 1.36 #:fill-line
78 rstrandh 1.17 #:input-from-stream #:output-to-stream
79 rstrandh 1.20 #:name-mixin #:name
80 abakic 1.49 #:buffer-looking-at #:looking-at
81 rstrandh 1.20 #:buffer-search-forward #:buffer-search-backward
82 ejohnson 1.22 #:search-forward #:search-backward))
83 strandh 1.1
84 strandh 1.2 (defpackage :climacs-abbrev
85     (:use :clim-lisp :clim :climacs-buffer :climacs-base)
86     (:export #:abbrev-expander #:dictionary-abbrev-expander #:dictionary
87 rstrandh 1.27 #:expand-abbrev #:abbrev-mixin #:possibly-expand-abbrev
88     #:add-abbrev))
89 strandh 1.2
90 rstrandh 1.8 (defpackage :climacs-syntax
91 rstrandh 1.16 (:use :clim-lisp :clim :climacs-buffer :climacs-base :flexichain)
92 rstrandh 1.30 (:export #:syntax #:define-syntax
93 rstrandh 1.32 #:basic-syntax
94 rstrandh 1.46 #:update-syntax #:update-syntax-for-display
95 rstrandh 1.57 #:grammar #:grammar-rule #:add-rule
96     #:parser #:initial-state
97 rstrandh 1.53 #:advance-parse
98 rstrandh 1.57 #: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 rstrandh 1.55 #:parse-stack-top #:target-parse-tree #:parse-state-empty-p
104 rstrandh 1.53 #:parse-stack-next #:parse-stack-symbol
105     #:parse-stack-parse-trees #:map-over-parse-trees
106 rstrandh 1.63 #:no-such-operation #:no-expression
107 mvilleneuve 1.35 #:syntax-line-indentation
108 rstrandh 1.63 #:forward-expression #:backward-expression
109 rstrandh 1.58 #:redisplay-pane-with-syntax
110 rstrandh 1.52 #:beginning-of-paragraph #:end-of-paragraph))
111 rstrandh 1.8
112 ejohnson 1.12 (defpackage :climacs-kill-ring
113 ejohnson 1.22 (:use :clim-lisp :flexichain)
114     (:export #:kill-ring #:kill-ring-length #:kill-ring-max-size
115     #:reset-yank-position #:rotate-yank-position #:kill-ring-yank
116     #:kill-ring-standard-push #:kill-ring-concatenating-push))
117 ejohnson 1.12
118 rstrandh 1.40 (defpackage :undo
119     (:use :common-lisp)
120     (:export #:no-more-undo
121     #:undo-tree #:standard-undo-tree
122     #:undo-record #:standard-undo-record
123     #:add-undo #:flip-undo-record #:undo #:redo))
124    
125 rstrandh 1.32 (defpackage :climacs-pane
126     (:use :clim-lisp :clim :climacs-buffer :climacs-base :climacs-abbrev
127 rstrandh 1.40 :climacs-syntax :flexichain :undo)
128 abakic 1.62 (:export #:climacs-buffer #:needs-saving #:filepath
129 rstrandh 1.32 #:climacs-pane #:point #:mark
130     #:redisplay-pane #:full-redisplay
131     #:page-down #:page-up
132 rstrandh 1.54 #:top #:bot
133     #:tab-space-count #:space-width #:tab-width
134 mvilleneuve 1.35 #:indent-tabs-mode
135 mvilleneuve 1.36 #:auto-fill-mode #:auto-fill-column
136 mvilleneuve 1.44 #:isearch-state #:search-string #:search-mark
137     #:search-forward-p #:search-success-p
138 mvilleneuve 1.38 #:isearch-mode #:isearch-states #:isearch-previous-string
139 mvilleneuve 1.42 #:query-replace-state #:string1 #:string2
140     #:query-replace-mode
141 rstrandh 1.40 #:with-undo
142 rstrandh 1.32 #:url))
143 rstrandh 1.53
144     (defpackage :climacs-html-syntax
145     (:use :clim-lisp :clim :climacs-buffer :climacs-base
146     :climacs-syntax :flexichain :climacs-pane))
147 rstrandh 1.32
148 crhodes 1.60 (defpackage :climacs-prolog-syntax
149     (:use :clim-lisp :clim :climacs-buffer :climacs-base
150     :climacs-syntax :flexichain :climacs-pane)
151     (:shadow "ATOM" "CLOSE" "EXP" "INTEGER" "OPEN" "VARIABLE"))
152 pfong 1.61
153     (defpackage :climacs-cl-syntax
154 rstrandh 1.63 (:use :clim-lisp :clim :climacs-buffer :climacs-base
155     :climacs-syntax :flexichain :climacs-pane)
156     (:export))
157    
158     (defpackage :climacs-lisp-syntax
159 pfong 1.61 (:use :clim-lisp :clim :climacs-buffer :climacs-base
160     :climacs-syntax :flexichain :climacs-pane)
161     (:export))
162 crhodes 1.60
163 strandh 1.1 (defpackage :climacs-gui
164 rstrandh 1.32 (:use :clim-lisp :clim :climacs-buffer :climacs-base :climacs-abbrev :climacs-syntax
165 rstrandh 1.40 :climacs-kill-ring :climacs-pane :clim-extensions :undo))
166 strandh 1.1

  ViewVC Help
Powered by ViewVC 1.1.5