syohaku @Wiki

.xyzzy

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集
;(setq *error-output* (make-buffer-stream (create-new-buffer "*Stack Trace*")))
;(setq si:*trace-on-error* t)
(toggle-trace-on-error)

;(setq *hyperspec-root* "C:\\Program Files\\xyzzy\\HyperSpec")

(add-hook '*lisp-mode-hook*
  #'(lambda ()
      (make-local-variable 'keyword-hash-table)
      (setf keyword-hash-table (load-keyword-file "lisp"))
      (make-local-variable 'regexp-keyword-list)
      (setf regexp-keyword-list
    (compile-regexp-keyword-list
     '(("(" t (:color 14))
       (")" t (:color 14)))))))

(add-hook '*lisp-interaction-mode-hook*
  #'(lambda ()
      (make-local-variable 'keyword-hash-table)
      (setf keyword-hash-table (load-keyword-file "lisp"))
      (make-local-variable 'regexp-keyword-list)
;      (with-output-to-temp-buffer ("*ResultLisp*" 2));by nagata
;      (switch-to-buffer-other-window (window-buffer (selected-window)) nil) ;nagata
      (setf regexp-keyword-list
    (compile-regexp-keyword-list
            '(("(" t (:color 14))
              (")" t (:color 14)))))))

;以下のコードはlispキーワード
;http://hie.s64.xrea.com/xyzzy/note/major_mode.htmlをコピぺ
;コードアシストは"esc tab" と "c-."の2つに割り当てている。

(in-package "editor")

(defvar *lisp-keyword-hash-table* nil)

(defun use-lisp-keyword ()
  "キーワード色付け"
  (if (null *lisp-keyword-hash-table*)
      (setq *lisp-keyword-hash-table*
            (load-keyword-file "lisp")))
  (when *lisp-keyword-hash-table*
    (make-local-variable 'keyword-hash-table)
    (setq keyword-hash-table *lisp-keyword-hash-table*)))

(add-hook '*lisp-mode-hook*
          #'(lambda ()
              (use-lisp-keyword)
              (define-key *lisp-mode-map* #\C-. 'lisp-complete-symbol)))

(add-hook '*lisp-interaction-mode-hook*
          #'(lambda ()
              (use-lisp-keyword)
              (define-key *lisp-interaction-mode-map* #\C-. 'lisp-complete-symbol)))

(in-package "user")

;TAB で indent と同時に補完
;http://hie.s64.xrea.com/xyzzy/note/edit.html#lisp-indent-line-and-complete-symboljをコピペ

(defun lisp-indent-line-and-complete-symbol ()
  (interactive)
  (lisp-indent-line)
  (if (looking-at "\\_>")
      (lisp-complete-symbol)))
(define-key ed::*lisp-mode-map*
            #\TAB  'lisp-indent-line-and-complete-symbol)
(define-key ed::*lisp-interaction-mode-map*
            #\TAB  'lisp-indent-line-and-complete-symbol)

;NetInstaller用設定
(require "ni/setup")
;; 自動設定を利用する
(ni-autoload)

;; PROXYを通す場合
;(setq ni::*http-proxy-host* "proxy.host")  ; PROXY のホスト
;(setq ni::*http-proxy-port* 8080)          ; PROXY のポート


;(load-library "Gates")
;Ruby用設定

(load-library "ruby-mode")
(push '("\\.rb$" . ruby-mode) *auto-mode-alist*)
; インデント量を変える。nilの時はタブを挿入
(setq *ruby-indent-column* 3)

;以下はhttp://plaza.umin.ac.jp/~takeshou/xyzzy/#sec08からのtips
(require "isearch")
(set-default-directory "~")
(require "dabbrev")

;バックアップディレクトリ設定
(require "backup")
(setq *backup-directory* "C:/xyzzy/backup")
(setq *hierarchic-backup-directory* t)



; C-c bでカレントバッファをバイトコンパイルし、ダンプファイルを削除します。
(defun compile-and-delete-dump-file ()
  (interactive)
  (and (find-buffer "siteinit.l")
       (eval-buffer "siteinit.l"))
  (byte-compile-file
   (concat (si:system-root) "site-lisp/siteinit.l"))
  (let ((dumpfile "xyzzy.wxp"))
;         (concat (si:system-root) "xyzzy."
;                 (case (os-platform)
;                   (whistler "wxp")
;                   (windows-2000 "w2k")
;                   (windows-nt "wnt")
;                   (windows-me "wme")
;                   (windows-98 "w98")
;                   (windows-95 "w95")
;                   (win32s "32s")
;                   (t "nt")))))
    (and (file-exist-p dumpfile)
(delete-file dumpfile))))

(defun other-window-backward (&optional n)
  "Select the previous window."
  (interactive "p")
  (other-window (- (if n n 1))))

;lisp-interaction-mode
(push '("\\.xyzzy$" . lisp-interaction-mode) *auto-mode-alist*)
(push '("\\.l$" . lisp-interaction-mode) *auto-mode-alist*)
;lisp-reference
(require "info-modoki-mode")
(define-key ed::*lisp-mode-map* #\F1 'imm-refer-selection)
(define-key ed::*lisp-interaction-mode-map* #\F1 'imm-refer-selection)

(global-set-key '(#\C-c #\b) 'compile-and-delete-dump-file)
(global-set-key #\C-o  'find-file)
(global-set-key '(#\C-x #\C-o)  'other-window-backward)



;;NetInstallerの公開されているサイトをそうどりしてくるサイト
(defun ni::add-site-from-wiki ()
  (interactive)
  (let ((s (ni::http-get-url "http://xyzzy.s53.xrea.com/wiki/index.php?cmd=source&page=NetInstaller%2F%C7%DB%C9%DB%A5%D1%A5%C3%A5%B1%A1%BC%A5%B8%B0%EC%CD%F7")))
    (ni::load-site-data)
    (mapcar
     (lambda (x) (ni::site-add x))
     (set-difference
      (remove-if
       'null
       (mapcar (lambda (i)
(and (string-match "^:[^|]+|\\(http:.*\\)$" i)
      (apply #'concat
     (mapcar (lambda (x)
       (let ((tmp (split-string x #\;)))
(if (equal (car tmp) "amp")
     (apply #'concat "&" (cdr tmp))
   (car tmp))))
     (split-string (match-string 1) #\&)))))
       (let (out)
(while
     (ignore-errors
      (push (read-line s) out) t))
(nreverse out))))
      (mapcar (lambda (x) (cdr (assoc "src" x :test 'equal))) ni::*site-data*)
      :test 'equal))) t)
;;ここがキーバインド
(define-key ni::*site-map* #\N 'ni::add-site-from-wiki)


;;;www-mode
(autoload 'www "www/www" t)
(autoload 'www-open-url "www/www" t)
(autoload 'www-open-local-file "www/www" t)
(autoload 'www-open-current-buffer "www/www" t)
記事メニュー
ウィキ募集バナー