edit.l

来自「A very small LISP implementation with se」· L 代码 · 共 67 行

L
67
字号
# 21jan07abu# (c) Software Lab. Alexander Burger# "*F" "*Lst" "*X" "*K"(de edit @   (let *Dbg NIL      (setq "*F" (tmp '"edit"))      (catch NIL         ("edit" (rest)) ) ) )(de "edit" ("Lst")   (let "N" 1      (loop         (out "*F"            (setq "*Lst"               (make                  (for "S" "Lst"                     ("loc" (printsp "S"))                     ("loc" (val "S"))                     (pretty (val "S"))                     (prinl)                     (for "X" (sort (getl "S"))                        ("loc" "X")                        (space 3)                        (if (atom "X")                           (println "X" T)                           (printsp (cdr "X"))                           (pretty (setq "X" (car "X")) -3)                           (cond                              ((type "X")                                 (prin "  # ")                                 (print @) )                              ((>= 799999 "X" 700000)                                 (prin "  # " (datStr "X")) ) )                           (prinl) ) )                     (prinl)                     (println '(********))                     (prinl) ) ) ) )         (call 'vim            "+set isk=@,33-34,36-38,42-90,92,94-95,97-125"            "+map K yw:call setline(line(\"$\"), \"(\" . line(\".\") . \" \" . @@ . \")\")^MZZ"            "+map Q GC(0)^[ZZ"            (pack "+" "N")            "*F" )         (apply ==== "*Lst")         (in "*F"            (while (and (setq "*X" (read)) (atom "*X"))               (def "*X" (read))               (until (= '(********) (setq "*K" (read)))                  (def "*X" "*K" (read)) ) ) )         (====)         (NIL "*X" (throw))         (T (=0 (car "*X")))         (setq "N" (car "*X"))         ("edit" (conc (cdr "*X") "Lst")) ) ) )(de "loc" ("X" "Lst")   (cond      ((memq "X" "Lst"))      ((and (str? "X") (not (memq "X" (made))))         (link "X") )      ((pair "X")         (push '"Lst" "X")         ("loc" (car "X") "Lst")         ("loc" (cdr "X") "Lst") ) ) )

⌨️ 快捷键说明

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