;;; 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-plugin plugin? plugin-command plugin-fun plugin-type-predicate 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 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))