close Warning: Can't use blame annotator:
No changeset 2099 in the repository

source: branches/acode-rewrite/source/cocoa-ide/hemlock/src/package.lisp

Last change on this file was 16082, checked in by Gary Byers, 11 years ago

Merge trunk changes into this branch. Expect some things to explode.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 17.4 KB
RevLine 
1(in-package :cl-user)
2
3(defpackage :hemlock-interface
4 (:use)
5 (:export
6 ;; Symbols from the CIM, by chapter:
7
8 ;; Representation of Text
9 #:linep
10 #:line-string
11 #:line-previous
12 #:line-next
13 #:line-buffer
14 #:line-length
15 #:line-character
16 #:line-plist
17 #:line-signature
18 #:markp
19 #:mark-line
20 #:mark-charpos
21 #:mark-kind
22 #:mark-buffer
23 #:mark-absolute-position
24 #:previous-character
25 #:next-character
26 #:mark
27 #:copy-mark
28 #:delete-mark
29 #:with-mark
30 #:move-to-position
31 #:move-to-absolute-position
32 #:move-mark
33 #:line-start
34 #:line-end
35 #:buffer-start
36 #:buffer-end
37 #:mark-before
38 #:mark-after
39 #:character-offset
40 #:line-offset
41 #:region
42 #:regionp
43 #:make-empty-region
44 #:copy-region
45 #:region-to-string
46 #:string-to-region
47 #:line-to-region
48 #:region-start
49 #:region-end
50 #:region-bounds
51 #:set-region-bounds
52 #:count-lines
53 #:count-characters
54
55 ;; charprops
56 #:next-charprop-value
57 #:previous-charprop-value
58 #:set-charprop-value
59 #:find-charprop-value
60 #:next-charprops
61 #:previous-charprops
62 #:set-charprops
63 #:charprops-in-region
64 #:apply-charprops
65 #:find-charprops
66 #:find-charprops-change
67 #:charprop-equal
68 #:charprops-get
69 #:charprops-set
70 #:charprops-equal
71 #:charprops-as-plist
72 #:charprops-as-hash
73 #:charprops-names
74 #:set-buffer-charprops
75 #:buffer-charprops
76
77 ;; Buffers
78 #:current-buffer
79 #:current-point-for-insertion
80 #:current-point-for-deletion
81 #:current-point-unless-selection
82 #:current-point-collapsing-selection
83 #:current-point-extending-selection
84 #:current-point-for-selection-start
85 #:current-point-for-selection-end
86 #:current-point
87 #:current-mark
88 #:pop-buffer-mark
89 #:push-buffer-mark
90 #:push-new-buffer-mark
91 #:all-buffers
92 #:make-buffer
93 #:bufferp
94 #:buffer-name
95 #:buffer-region
96 #:buffer-pathname
97 #:buffer-write-date
98 #:buffer-point
99 #:buffer-mark
100 #:buffer-start-mark
101 #:buffer-end-mark
102 #:buffer-writable
103 #:buffer-modified
104 #:buffer-signature
105 #:buffer-variables
106 #:buffer-modes
107 #:buffer-delete-hook
108 #:buffer-package
109 #:buffer-plist
110 #:delete-buffer
111 #:with-writable-buffer
112 #:make-modeline-field
113 #:modeline-field-p
114 #:modeline-field-name
115 #:modeline-field
116 #:modeline-field-function
117 #:modeline-field-width
118 #:buffer-modeline-fields
119 #:buffer-modeline-field-p
120 #:update-modeline-fields
121
122 ;; Altering and Searching Text
123 #:insert-character
124 #:insert-string
125 #:insert-region
126 #:ninsert-region
127 #:delete-characters
128 #:delete-region
129 #:delete-and-save-region
130 #:filter-region
131 #:start-line-p
132 #:end-line-p
133 #:empty-line-p
134 #:blank-line-p
135 #:blank-before-p
136 #:blank-after-p
137 #:same-line-p
138 #:mark<
139 #:mark<=
140 #:mark=
141 #:mark/=
142 #:mark>=
143 #:mark>
144 #:line<
145 #:line<=
146 #:line>=
147 #:line>
148 #:lines-related
149 #:first-line-p
150 #:last-line-p
151 #:kill-region
152 #:kill-characters
153 #:*kill-ring-pushes-to-clipboard*
154 #:*ephemerally-active-command-types*
155 #:activate-region
156 #:deactivate-region
157 #:region-active-p
158 #:check-region-active
159 #:current-region
160 #:new-search-pattern
161 #:search-pattern-p
162 #:get-search-pattern
163 #:find-pattern
164 #:replace-pattern
165 #:*last-search-string*
166 #:collapse-if-selection
167
168 ;; Hemlock Variables
169 #:*global-variable-names*
170 #:current-variable-tables
171 #:defhvar
172 #:variable-value
173 #:variable-documentation
174 #:variable-hooks
175 #:variable-name
176 #:string-to-variable
177 #:value
178 #:setv
179 #:hlet
180 #:hemlock-bound-p
181 #:delete-variable
182 #:add-hook
183 #:remove-hook
184 #:invoke-hook
185
186 ;; Commands
187 #:*command-names*
188 #:defcommand
189 #:make-command
190 #:commandp
191 #:command-documentation
192 #:command-function
193 #:command-name
194 #:bind-key
195 #:command-bindings
196 #:delete-key-binding
197 #:commands-and-bindings
198 #:get-command
199 #:map-bindings
200 #:key-translation
201 #:last-command-type
202 #:prefix-argument
203
204 ;; Modes
205 #:*mode-names*
206 #:defmode
207 #:mode-documentation
208 #:buffer-major-mode
209 #:buffer-minor-mode
210 #:mode-variables
211 #:mode-major-p
212
213 ;; Character attributes
214 #:*character-attribute-names*
215 #:defattribute
216 #:character-attribute-name
217 #:character-attribute-documentation
218 #:character-attribute
219 #:character-attribute-p
220 #:shadow-attribute
221 #:unshadow-attribute
222 #:find-attribute
223 #:find-not-attribute
224 #:reverse-find-attribute
225 #:reverse-find-not-attribute
226 #:character-attribute-hooks
227
228 ;; Controlling the Display
229 #:current-view
230 #:hemlock-view-p
231 #:hemlock-view-buffer
232 #:mark-column
233 #:move-to-column
234 #:set-scroll-position
235
236 ;; Logical Key Events
237 #:*logical-key-event-names*
238 #:define-logical-key-event
239 #:logical-key-event-key-events
240 #:logical-key-event-name
241 #:logical-key-event-documentation
242 #:logical-key-event-p
243
244 ;; The Echo Area
245 #:clear-echo-area
246 #:message
247 #:loud-message
248 #:beep
249 #:command-case
250 #:prompt-for-buffer
251 #:prompt-for-package
252 #:prompt-for-key-event
253 #:prompt-for-key
254 #:prompt-for-file
255 #:prompt-for-integer
256 #:prompt-for-keyword
257 #:prompt-for-expression
258 #:prompt-for-string
259 #:prompt-for-variable
260 #:prompt-for-y-or-n
261 #:prompt-for-yes-or-no
262 #:parse-for-something
263
264 ;; Files
265 #:define-file-option
266 #:define-file-type-hook
267 #:process-file-options
268 #:pathname-to-buffer-name
269 #:buffer-default-pathname
270 #:read-file
271 #:write-file
272 #:write-buffer-file
273 #:read-buffer-file
274 ;; #:find-file-buffer
275
276 ;;# Hemlock's Lisp Environment
277 ;; #:ed
278 #:*key-event-history*
279 #:last-key-event-typed
280 #:last-char-typed
281 #:make-hemlock-output-stream
282 #:hemlock-output-stream-p
283 #:make-hemlock-region-stream
284 #:hemlock-region-stream-p
285 #:with-input-from-region
286 #:with-output-to-mark
287 #:with-pop-up-display
288 #:editor-error
289 #:handle-lisp-errors
290 #:in-lisp
291 #:do-alpha-chars
292
293 ;; Higher-Level Text Primitives
294 #:indent-region
295 #:indent-region-for-commands
296 #:delete-horizontal-space
297 #:pre-command-parse-check
298 #:form-offset
299 #:top-level-offset
300 #:mark-top-level-form
301 #:defun-region
302 #:inside-defun-p
303 #:start-defun-p
304 #:forward-up-list
305 #:backward-up-list
306 #:valid-spot
307 #:defindent
308 #:word-offset
309 #:sentence-offset
310 #:paragraph-offset
311 #:mark-paragraph
312 #:fill-region
313 #:fill-region-by-paragraphs
314
315 ;; Utilities
316 #:make-string-table
317 #:string-table-p
318 #:string-table-separator
319 #:delete-string
320 #:clrstring
321 #:getstring
322 #:complete-string
323 #:find-ambiguous
324 #:find-containing
325 #:do-strings
326 #:make-ring
327 #:ringp
328 #:ring-length
329 #:ring-ref
330 #:ring-push
331 #:ring-pop
332 #:rotate-ring
333 #:save-for-undo
334 #:make-region-undo
335
336 ;; Miscellaneous
337
338 #:define-keysym
339 #:define-keysym-code
340 #:define-mouse-keysym
341 #:name-keysym
342 #:keysym-names
343 #:keysym-preferred-name
344 #:define-key-event-modifier
345 #:*all-modifier-names*
346 #:make-key-event-bits
347 #:key-event-modifier-mask
348 #:key-event-bits-modifiers
349 #:make-key-event
350 #:key-event-p
351 #:key-event-bits
352 #:key-event-keysym
353 #:char-key-event
354 #:key-event-char
355 #:key-event-bit-p
356 #:do-alpha-key-events
357 #:pretty-key-string
358 ))
359
360;; Functions defined externally (i.e. used by but not defined in hemlock). In theory,
361;; these (and codes for the symbolic keysyms in keysym-defs.lisp, q.v.) is all you need
362;; to implement to port the IDE to a different window system.
363(defpackage :hemlock-ext
364 (:use)
365 ;;
366 (:export
367 #:invoke-modifying-buffer-storage
368 #:invoke-allowing-buffer-display
369 #:note-selection-set-by-search
370 #:buffer-note-font-change
371 #:buffer-note-insertion
372 #:buffer-note-modification
373 #:buffer-note-deletion
374 #:buffer-encoding-name
375 #:scroll-view
376 #:ensure-selection-visible
377 #:report-hemlock-error
378 #:top-listener-output-stream
379 #:top-listener-input-stream
380 #:invalidate-modeline
381 #:set-buffer-external-format
382 #:note-buffer-saved
383 #:note-buffer-unsaved
384 #:read-only-listener-p
385 #:all-hemlock-views
386 #:open-hemlock-buffer
387 #:save-hemlock-buffer
388 #:revert-hemlock-buffer
389 #:open-sequence-dialog
390 #:execute-in-file-view
391 #:select-view
392 #:change-active-pane
393 #:send-string-to-listener
394 #:buffer-process-description
395 #:raise-buffer-view
396 #:string-to-clipboard
397 #:lookup-color
398 ))
399
400(defpackage :hi
401 (:use :common-lisp :hemlock-interface)
402 (:nicknames :hemlock-internals)
403 (:import-from
404 ;; gray streams
405 #+EXCL :excl
406 #+CLISP :gray
407 #+CMU :ext
408 #+sbcl :sb-gray
409 #+scl :ext
410 #+clozure :gray
411 ;;
412 ;; Note the patch i received from DTC mentions character-output and
413 ;; character-input-stream here, so we actually see us faced to
414 ;; provide for compatibility classes. --GB
415 #-scl #:fundamental-character-output-stream
416 #-scl #:fundamental-character-input-stream
417 ;; There is conditionalization in streams.lisp, see above --GB
418 #+scl #:character-output-stream
419 #+scl #:character-input-stream
420
421 #:stream-write-char
422 #-scl #:stream-write-string ; wonder what that is called --GB
423 #:stream-read-char
424 #:stream-listen
425 #:stream-unread-char
426 #:stream-clear-input
427 #:stream-finish-output
428 #:stream-force-output
429 #:stream-line-column)
430 (:import-from :ccl
431 #:delq #:memq #:assq
432 #:getenv
433 #:fixnump)
434 (:import-from :gui
435 #:log-debug)
436 ;; ** TODO: get rid of this. The code that uses it assumes it guarantees atomicity,
437 ;; and it doesn't.
438 (:import-from :ccl #:without-interrupts)
439 ;;
440 (:export
441 #:*FAST* ;hmm not sure about this one
442
443 ;; Imported
444 #:delq #:memq #:assq #:getenv #:fixnump #:log-debug
445
446 ;; hemlock-ext.lisp
447 #:hemlock-char-code-limit
448 #:file-writable #:default-directory #:complete-file #:ambiguous-files
449
450 ;; rompsite.lisp
451 #:editor-describe-function
452 #:merge-relative-pathnames
453 ;;
454 ;; Export default-font to prevent a name conflict that occurs due to
455 ;; the Hemlock variable "Default Font" defined in SITE-INIT below.
456 ;;
457 #:default-font
458 #:*beep-function* #:beep
459
460 ;;
461 #:mark #:mark-line #:mark-charpos #:mark-column #:move-to-column
462 #:markp #:region #:region-start #:region-end
463 #:regionp #:buffer #:bufferp #:buffer-modes #:buffer-point #:buffer-writable
464 #:buffer-delete-hook #:buffer-variables #:buffer-write-date
465 #:region #:regionp #:region-start #:region-end
466 #:commandp #:command #:command-function
467 #:command-documentation #:modeline-field #:modeline-field-p
468
469 ;; from macros.lisp
470 #:invoke-hook #:value #:setv #:hlet #:string-to-variable #:add-hook #:remove-hook
471 #:defcommand #:with-mark #:use-buffer #:editor-error
472 #:editor-error-format-string #:editor-error-format-arguments #:do-strings
473 #:command-case #:reprompt #:with-output-to-mark #:with-input-from-region
474 #:handle-lisp-errors #:with-pop-up-display
475
476 ;; from views.lisp
477 #:hemlock-view #:current-view #:hemlock-view-buffer
478 #:current-prefix-argument-state #:last-key-event-typed #:last-char-typed
479 #:invoke-command
480 #:abort-to-toplevel #:abort-current-command
481 #:set-scroll-position
482 #:native-key-event-p
483
484 ;; from line.lisp
485 #:line #:linep #:line-previous #:line-next #:line-plist #:line-signature
486
487 ;; from ring.lisp
488 #:ring #:ringp #:make-ring #:ring-push #:ring-pop #:ring-length #:ring-ref
489 #:rotate-ring
490
491 ;; from table.lisp
492 #:string-table #:string-table-p #:make-string-table
493 #:string-table-separator #:getstring
494 #:find-ambiguous #:complete-string #:find-containing
495 #:delete-string #:clrstring #:do-strings
496
497 ;; buffer.lisp
498 #:buffer-modified #:buffer-region #:buffer-name #:buffer-pathname
499 #:buffer-major-mode #:buffer-minor-mode #:buffer-modeline-fields
500 #:buffer-modeline-field-p #:current-buffer #:current-point
501 #:defmode #:mode-major-p #:mode-variables #:mode-documentation
502 #:make-buffer #:delete-buffer #:with-writable-buffer #:buffer-start-mark
503 #:buffer-end-mark #:*buffer-list*
504
505 ;; charmacs.lisp
506 #:syntax-char-code-limit #:search-char-code-limit #:do-alpha-chars
507
508 ;; charprops.lisp
509 #:next-charprop-value #:previous-charprop-value
510 #:set-charprop-value #:find-charprop-value #:next-charprops
511 #:previous-charprops #:set-charprops #:charprops-in-region
512 #:apply-charprops #:find-charprops #:find-charprops-change
513 #:charprop-equal #:charprops-get #:charprops-set #:charprops-equal
514 #:charprops-as-plist #:charprops-as-hash #:charprops-names
515 #:set-buffer-charprops #:buffer-charprops
516
517 ;; key-event.lisp
518 #:define-keysym-code #:define-mouse-keysym #:define-modifier-bit
519 #:*all-modifier-names* #:*modifier-translations*
520 #:make-key-event #:char-key-event #:do-alpha-key-events
521 #:key-event-modifier-mask #:key-event-char #:key-event-bit-p
522 #:pretty-key-string
523
524 ;; echo.lisp
525 #:*echo-area-stream*
526 #:clear-echo-area #:message #:loud-message
527 #:current-echo-parse-state #:exit-echo-parse
528 #:eps-parse-type #:eps-parse-starting-mark #:eps-parse-input-region
529 #:eps-parse-verification-function #:eps-parse-string-tables
530 #:eps-parse-default #:eps-parse-help #:eps-parse-key-handler
531 #:prompt-for-buffer #:prompt-for-package #:prompt-for-file #:prompt-for-integer
532 #:prompt-for-keyword #:prompt-for-expression #:prompt-for-string
533 #:prompt-for-variable #:prompt-for-yes-or-no #:prompt-for-y-or-n
534 #:prompt-for-key-event #:prompt-for-key
535 #:*logical-key-event-names*
536 #:logical-key-event-p #:logical-key-event-documentation
537 #:logical-key-event-name #:logical-key-event-key-events
538 #:define-logical-key-event #:current-variable-tables
539
540
541 ;; commands
542 #:make-prefix-argument-state #:prefix-argument-resetting-state
543
544
545 ;; files.lisp
546 #:read-file #:write-file
547
548
549 ;; font.lisp
550 #:font-mark #:delete-font-mark #:delete-line-font-marks #:move-font-mark
551 #:window-font
552
553 ;; htext1.lisp
554 #:line-length #:line-buffer #:line-string #:line-character #:mark #:mark-kind
555 #:copy-mark #:delete-mark #:move-to-position #:mark-absolute-position
556 #:move-to-absolute-position #:buffer-selection-range #:region #:make-empty-region
557 #:start-line-p #:end-line-p #:empty-line-p #:blank-line-p #:blank-before-p
558 #:blank-after-p #:same-line-p #:mark< #:mark<= #:mark> #:mark>= #:mark= #:mark/=
559 #:line< #:line<= #:line> #:line>= #:first-line-p #:last-line-p #:buffer-signature
560 #:lines-related
561
562
563 ;; htext2.lisp
564 #:region-to-string #:string-to-region #:line-to-region
565 #:previous-character #:next-character #:count-lines
566 #:count-characters #:line-start #:line-end #:buffer-start
567 #:buffer-end #:move-mark #:mark-before #:mark-after
568 #:character-offset #:line-offset #:region-bounds
569 #:set-region-bounds #:*print-region*
570
571
572 ;; htext3.lisp
573 #:insert-character #:insert-string #:insert-region #:ninsert-region
574 #:paste-characters
575
576 ;; htext4.lisp
577 #:delete-characters #:delete-region #:delete-and-save-region #:copy-region
578 #:filter-region
579
580
581 ;; interp.lisp
582 #:bind-key #:delete-key-binding #:get-command #:map-bindings #:commands-and-bindings
583 #:make-command #:command-name #:command-bindings #:last-command-type
584 #:prefix-argument #:key-translation
585
586
587 ;; main.lisp
588 #:*global-variable-names* #:*mode-names* #:*buffer-names*
589 #:*character-attribute-names* #:*command-names* #:*buffer-list*
590 #:after-editor-initializations
591
592 ;; search1.lisp
593 #:search-pattern #:search-pattern-p #:find-pattern #:replace-pattern
594 #:new-search-pattern
595
596 ;; modeline.lisp
597 #:modeline-field-width
598 #:modeline-field-function #:make-modeline-field
599 #:update-modeline-field #:modeline-field-name #:modeline-field
600
601 ;; streams.lisp
602 #:make-hemlock-output-stream
603 #:hemlock-region-stream #:hemlock-region-stream-p
604 #:hemlock-output-stream #:make-hemlock-region-stream
605 #:hemlock-output-stream-p #:make-kbdmac-stream
606 #:modify-kbdmac-stream
607
608 ;; syntax.lisp
609 #:character-attribute-name
610 #:defattribute #:character-attribute-documentation #:character-attribute
611 #:character-attribute-hooks #:character-attribute-p #:shadow-attribute
612 #:unshadow-attribute #:find-attribute #:reverse-find-attribute
613
614 ;; vars.lisp
615 #:variable-value #:variable-hooks #:variable-documentation #:variable-name
616 #:hemlock-bound-p #:defhvar #:delete-variable
617
618 #:input-stream-reading-line
619
620 ))
621
622
623(defpackage :hemlock
624 (:use :common-lisp :hemlock-interface :hemlock-internals :hemlock-ext)
625 (:export ;; Symbols defined in hemlock for use in the IDE
626 #:with-display-context
627 #:update-current-package
628 #:compute-paren-highlighting
629 #:compute-syntax-coloring
630 #:selection-for-click
631 #:move-point-for-click
632 #:edit-definition
633 #:*isearch-is-global*
634 ))
635
636
637;; $Log$
638;; Revision 1.2 2005/08/01 10:54:17 gb
639;; Don't export CHECK-REGION-QUERY-SIZE.
640;;
641;; Revision 1.1.1.1 2003/10/19 08:57:16 gb
642;; recovered 0.14 sources
643;;
644;; Revision 1.1.2.1 2003/08/10 19:11:33 gb
645;; New files, imported from upstream CVS as of 03/08/09.
646;;
647;; Revision 1.9 2003/08/05 19:58:21 gilbert
648;; - we now have a HEMLOCK-INTERFACE package which exports symbols mentioned
649;; in the Command Implementors Manual.
650;;
651;; Revision 1.8 2003/07/28 20:35:32 jdz
652;; BEEP function now works.
653;;
654;; Revision 1.7 2003/07/27 10:11:06 jdz
655;; HEMLOCK-EXT package is now used by HEMLOCK. Conflicting symbols from
656;; EXTENSIONS package in CMUCL are shadowed.
657;;
658;; Revision 1.6 2003/05/12 11:01:48 gbyers
659;; Conditionalize (Gray streams package) for OpenMCL.
660;;
661;; Revision 1.5 2003/03/26 07:50:10 gilbert
662;; Port to SCL by Douglas Crosher
663;;
664;; Revision 1.4 2003/03/06 21:38:58 gilbert
665;; The symbol *FAST* is now exported from HI (no idea if that is the
666;; right thing to do) and imported into HEMLOCK. Fixes bug:
667;; auto-save.lisp was not compiling.
668;;
Note: See TracBrowser for help on using the repository browser.