207 lines
3.7 KiB
Scheme
207 lines
3.7 KiB
Scheme
;;; history data structure
|
|
|
|
(define-interface history-interface
|
|
(export make-empty-history
|
|
history?
|
|
entry?
|
|
entry-data
|
|
append-history-item!
|
|
insert-history-item!
|
|
history-next-entry
|
|
history-prev-entry
|
|
history-first-entry
|
|
history-last-entry))
|
|
|
|
(define-structure history history-interface
|
|
(open scheme
|
|
define-record-types)
|
|
(files history))
|
|
|
|
;;; layout utilities
|
|
|
|
(define-interface layout-interface
|
|
(export seperate-line
|
|
layout-result-standard
|
|
get-marked-positions-1
|
|
get-marked-positions-2
|
|
get-marked-positions-3
|
|
exp->string
|
|
sublist))
|
|
|
|
(define-structure layout layout-interface
|
|
(open scheme
|
|
srfi-6 ;; basic string ports
|
|
)
|
|
(files layout))
|
|
|
|
;;; process viewer plugin
|
|
|
|
(define-structure process-view-plugin
|
|
(export)
|
|
(open scheme
|
|
srfi-1
|
|
formats
|
|
pps
|
|
plugin
|
|
tty-debug)
|
|
(files process))
|
|
|
|
;;; file list view plugin
|
|
|
|
(define-structure dirlist-view-plugin
|
|
(export)
|
|
(open scheme-with-scsh
|
|
define-record-types
|
|
layout
|
|
fs-object
|
|
srfi-1
|
|
plugin
|
|
ncurses
|
|
tty-debug)
|
|
(files browse-directory-list))
|
|
|
|
;;; browse-list plugin
|
|
|
|
(define-structure browse-list-plugin
|
|
(export)
|
|
(open scheme
|
|
define-record-types
|
|
ncurses
|
|
plugin
|
|
layout)
|
|
(files browse-list))
|
|
|
|
;;; fs-objects
|
|
|
|
(define-interface fs-object-interface
|
|
(export make-fs-object
|
|
fs-object?
|
|
fs-object-name
|
|
fs-object-path))
|
|
|
|
(define-structure fs-object fs-object-interface
|
|
(open scheme
|
|
define-record-types)
|
|
(files fs-object))
|
|
|
|
;;; nuit evaluates the expressions entered into command buffer in this
|
|
;;; package
|
|
|
|
(define-structure nuit-eval
|
|
(export)
|
|
(open
|
|
(modify scheme-with-scsh
|
|
(rename (directory-files scsh-directory-files)))
|
|
let-opt
|
|
srfi-1
|
|
fs-object
|
|
pps)
|
|
(files eval))
|
|
|
|
;;; nuit plug-in registration
|
|
|
|
(define-interface plugin-interface
|
|
(export make-view-plugin
|
|
view-plugin?
|
|
view-plugin-fun
|
|
view-plugin-type-predicate
|
|
|
|
make-command-plugin
|
|
command-plugin?
|
|
command-plugin-command
|
|
command-plugin-completer
|
|
command-plugin-evaluater
|
|
|
|
register-plugin!
|
|
|
|
make-print-object
|
|
print-object?
|
|
print-object-pos-y
|
|
print-object-pos-x
|
|
print-object-text
|
|
print-object-highlighted-lines
|
|
print-object-marked-lines
|
|
|
|
next-command-message?
|
|
next-command-string
|
|
next-command-message-parameters
|
|
next-command-message-width
|
|
|
|
init-with-result-message?
|
|
init-with-result-message-result
|
|
init-with-result-message-width
|
|
|
|
key-pressed-message?
|
|
key-pressed-message-result-object
|
|
key-pressed-message-key
|
|
key-pressed-message-prefix-key
|
|
|
|
print-message?
|
|
print-message-command-string
|
|
print-message-result-object
|
|
print-message-width
|
|
|
|
restore-message?
|
|
restore-message-command-string
|
|
restore-message-result-object
|
|
|
|
selection-message?
|
|
selection-message-command-string
|
|
selection-message-result-object
|
|
|
|
message-result-object
|
|
message-command-string))
|
|
|
|
(define-interface plugin-host-interface
|
|
(export command-plugin-list
|
|
view-plugin-list
|
|
make-next-command-message
|
|
make-init-with-result-message
|
|
make-key-pressed-message
|
|
make-print-message
|
|
make-restore-message
|
|
make-selection-message))
|
|
|
|
(define-structures
|
|
((plugin plugin-interface)
|
|
(plugin-host plugin-host-interface))
|
|
(open scheme
|
|
define-record-types
|
|
let-opt
|
|
signals)
|
|
(files plugins))
|
|
|
|
;;; nuit
|
|
|
|
(define-interface nuit-interface
|
|
(export nuit))
|
|
|
|
(define-structure nuit nuit-interface
|
|
(open scheme-with-scsh
|
|
external-calls
|
|
define-record-types
|
|
conditions
|
|
signals
|
|
handle
|
|
ncurses
|
|
srfi-1
|
|
srfi-6
|
|
srfi-13
|
|
debugging
|
|
inspect-exception
|
|
rt-modules
|
|
tty-debug
|
|
fs-object
|
|
plugin
|
|
plugin-host
|
|
layout
|
|
pps
|
|
history
|
|
;; the following modules are plugins
|
|
browse-list-plugin
|
|
dirlist-view-plugin
|
|
process-view-plugin)
|
|
(files nuit-engine
|
|
handle-fatal-error))
|
|
|