Weird, I can't see the contents of the discussion, it's attached as the file "noname" in gmail.
Anyway, I've written some on my blog on how to manage with emacs: http://www.prodevtips.com/2010/09/24/emacs-key-bindings-paredit-and-saving-macros/ I have attached my .el config, some of the contents therein pertains to PicoLisp. In http://www.prodevtips.com/2010/11/03/autocompletion-jump-to-documentation-swank-and-slime/ I state that I added a dictionary for PL, this is picolisp-mode that I also have attached. Apart from that no other externals except for Arm's picolisp mode are needed (I think) to follow through my tutorials. PicoLisp is really easy to setup IMO, Clojure is harder due to the fact that it has much messier syntax. /Henrik On Tue, Feb 8, 2011 at 7:24 PM, Jon Kleiser <[email protected]> wrote: >
(defun iwb ()
"indent whole buffer"
(interactive)
(delete-trailing-whitespace)
(indent-region (point-min) (point-max) nil)
(untabify (point-min) (point-max)))
(defun browser-jump (base-url)
(let (myword myurl)
(setq myword
(if (and transient-mark-mode mark-active)
(buffer-substring-no-properties (region-beginning) (region-end))
(thing-at-point 'symbol)))
(setq myurl (concat base-url myword))
(browse-url myurl)))
(defun clojure-jump () (interactive) (browser-jump "http://clojure.github.com/clojure/clojure.core-api.html#clojure.core/"))
;(defun picolisp-jump () (interactive) (browser-jump "http://www.software-lab.de/doc/refM.html#"))
(defun picolisp-jump ()
(interactive)
(let (myword myurl)
(setq myword
(if (and transient-mark-mode mark-active)
(buffer-substring-no-properties (region-beginning) (region-end))
(thing-at-point 'symbol)))
(setq myurl (concat "http://www.software-lab.de/doc/ref" (upcase (substring myword 0 1)) ".html#" myword))
(browse-url myurl)))
(fset 'sqbracket-wrap
(lambda (&optional arg) "Keyboard macro." (interactive "p") (kmacro-exec-ring-item (quote ("\213[" 0 "%d")) arg)))
(fset 'curlybrace-wrap
(lambda (&optional arg) "Keyboard macro." (interactive "p") (kmacro-exec-ring-item (quote ("\213{" 0 "%d")) arg)))
(setq kill-whole-line t)
(defun refresh-file ()
(interactive)
(revert-buffer t t t))
(global-set-key [f5] 'refresh-file)
;(global-set-key (kbd "C-s") 'save-buffer)
(global-set-key (kbd "C-z") 'undo)
(global-set-key (kbd "C-M-m") 'mark-sexp)
(global-set-key (kbd "M-[") 'sqbracket-wrap)
;(global-set-key (kbd "M-{") 'curlybrace-wrap)
(global-set-key [f1] 'menu-bar-mode)
;(global-set-key (kbd "C-<tab>") 'complete-tag)
(global-set-key [f6] 'split-window-horizontally)
(global-set-key [f7] 'split-window-vertically)
(global-set-key [f8] 'delete-window)
(define-key clojure-mode-map (kbd "M-{") 'curlybrace-wrap)
(define-key clojure-mode-map (kbd "C-M-r") 'clojure-jump)
(define-key picolisp-mode-map (kbd "C-M-r") 'picolisp-jump)
(defun lisp-enable-paredit-hook () (paredit-mode 1))
(add-hook 'picolisp-mode-hook 'lisp-enable-paredit-hook)
;(load "~/.emacs.d/henrik/nxhtml/autostart.el")
;(setq mumamo-chunk-coloring 1)
(autoload 'php-mode "php-mode" "Major mode for editing php code." t)
(add-to-list 'auto-mode-alist '("\\.php$" . php-mode))
;(add-to-list 'auto-mode-alist '("\\.inc$" . php-mode))
;(add-hook 'php-mode-hook 'lisp-enable-paredit-hook)
(defun terminate-line ()
(interactive)
(back-to-indentation)
(if (looking-at "case")
(setq eol-char ":")
(setq eol-char ";"))
(end-of-line)
(if (not (looking-back eol-char))
(insert eol-char))
(reindent-then-newline-and-indent))
(defun open-line-indent (n)
(interactive "*p")
(save-excursion
(open-line n)
(next-line n)
(indent-according-to-mode)))
(define-key php-mode-map "\r" 'reindent-then-newline-and-indent)
(define-key php-mode-map "\C-c\C-c" 'comment-or-uncomment-region-or-line)
(define-key php-mode-map "\M-;" 'terminate-line)
(define-key php-mode-map "\C-o" 'open-line-indent)
(defun wicked/php-mode-init ()
"Set some buffer-local variables."
(setq case-fold-search t)
(setq indent-tabs-mode nil)
(setq fill-column 78)
(setq c-basic-offset 2)
(c-set-offset 'arglist-cont 0)
(c-set-offset 'arglist-intro '+)
(c-set-offset 'case-label 2)
(c-set-offset 'arglist-close 0))
;(add-hook 'php-mode-hook 'wicked/php-mode-init)
(add-to-list 'load-path "~/.emacs.d/henrik/color-theme-6.6.0")
(require 'color-theme)
(eval-after-load "color-theme"
'(progn
(color-theme-initialize)
(color-theme-hober)))
(eval-after-load "color-theme" '(color-theme-gray30))
(set-face-attribute 'default nil :height 60)
(setq font-lock-builtin-face '((t (:foreground "LightSkyBlue"))))
(global-linum-mode 1)
(setq column-number-mode t)
(defun switch-full-screen ()
(interactive)
(shell-command "wmctrl -r :ACTIVE: -btoggle,fullscreen"))
(global-set-key [f11] 'switch-full-screen)
(load-file "/home/henrik/.emacs.d/henrik/cedet/common/cedet.el")
(add-to-list 'load-path "~/.emacs.d/henrik/ecb-2.40")
(require 'ecb)
(setq ecb-tree-buffer-style 'ascii-guides)
(global-set-key [f12] 'ecb-activate)
(setq ecb-tip-of-the-day nil)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/henrik/dict")
(require 'auto-complete-config)
(ac-config-default)
(setq ac-auto-start 3)
(add-to-list 'ac-modes 'picolisp-mode)
(setq ac-ignore-case t)
(setq ac-auto-start nil)
(global-set-key (kbd "C-<tab>") 'auto-complete)
(setq ecb-layout-name "left14")
(setq ecb-layout-window-sizes (quote (("left14" (0.2564102564102564 . 0.6949152542372882) (0.2564102564102564 . 0.23728813559322035)))))
(setq my-projects '("/opt/clojure" "/opt/picolisp" "/opt/clojure/affili" "/opt/clojure/fred"))
(setq tags-table-list my-projects)
(setq ecb-source-path my-projects)
(add-to-list 'load-path "~/emacs.d/henrik/slime")
(require 'slime)
(slime-setup)
(eval-after-load "slime"
'(progn (slime-setup '(slime-repl))))
picolisp-mode
Description: Binary data
