display-commentary

来自「MSYS在windows下模拟了一个类unix的终端」· 代码 · 共 71 行

TXT
71
字号
#!/bin/sh# aside from this initial boilerplate, this is actually -*- scheme -*- codemain='(module-ref (resolve-module '\''(scripts display-commentary)) '\'main')'exec ${GUILE-guile} -l $0 -c "(apply $main (cdr (command-line)))" "$@"!#;;; display-commentary --- As advertized;; 	Copyright (C) 2001 Free Software Foundation, Inc.;;;; This program is free software; you can redistribute it and/or;; modify it under the terms of the GNU General Public License as;; published by the Free Software Foundation; either version 2, or;; (at your option) any later version.;;;; This program is distributed in the hope that it will be useful,;; but WITHOUT ANY WARRANTY; without even the implied warranty of;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU;; General Public License for more details.;;;; You should have received a copy of the GNU General Public License;; along with this software; see the file COPYING.  If not, write to;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330,;; Boston, MA 02111-1307 USA;;; Author: Thien-Thi Nguyen;;; Commentary:;; Usage: display-commentary REF1 REF2 ...;;;; Display Commentary section from REF1, REF2 and so on.;; Each REF may be a filename or module name (list of symbols).;; In the latter case, a filename is computed by searching `%load-path'.;;; Code:(define-module (scripts display-commentary)  :use-module (ice-9 documentation)  :export (display-commentary))(define (display-commentary-one file)  (format #t "~A commentary:\n~A" file (file-commentary file)))(define (module-name->filename-frag ls) ; todo: export or move  (let ((ls (map symbol->string ls)))    (let loop ((ls (cdr ls)) (acc (car ls)))      (if (null? ls)          acc          (loop (cdr ls) (string-append acc "/" (car ls)))))))(define (display-module-commentary module-name)  (cond ((%search-load-path (module-name->filename-frag module-name))         => (lambda (file)              (format #t "module ~A\n" module-name)              (display-commentary-one file)))))(define (display-commentary . refs)  (for-each (lambda (ref)              (cond ((string? ref)                     (if (equal? 0 (string-index ref #\())                         (display-module-commentary                          (with-input-from-string ref read))                         (display-commentary-one ref)))                    ((list? ref)                     (display-module-commentary ref))))            refs))(define main display-commentary);;; display-commentary ends here

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?