Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
rev d4497538ae397efdb0f684b3d3278e4c6ec8effd
- Loading branch information
Showing
30 changed files
with
3,345 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
" Part of Vim filetype plugin for Clojure | ||
" Language: Clojure | ||
" Maintainer: Meikel Brandmeyer <mb@kotka.de> | ||
|
||
let s:save_cpo = &cpo | ||
set cpo&vim | ||
|
||
function! vimclojure#util#SynIdName() | ||
return synIDattr(synID(line("."), col("."), 0), "name") | ||
endfunction | ||
|
||
function! vimclojure#util#WithSaved(closure) | ||
let v = a:closure.save() | ||
try | ||
let r = a:closure.f() | ||
finally | ||
call a:closure.restore(v) | ||
endtry | ||
return r | ||
endfunction | ||
|
||
function! s:SavePosition() dict | ||
let [ _b, l, c, _o ] = getpos(".") | ||
let b = bufnr("%") | ||
return [b, l, c] | ||
endfunction | ||
|
||
function! s:RestorePosition(value) dict | ||
let [b, l, c] = a:value | ||
|
||
if bufnr("%") != b | ||
execute b "buffer!" | ||
endif | ||
call setpos(".", [0, l, c, 0]) | ||
endfunction | ||
|
||
function! vimclojure#util#WithSavedPosition(closure) | ||
let a:closure.save = function("s:SavePosition") | ||
let a:closure.restore = function("s:RestorePosition") | ||
|
||
return vimclojure#util#WithSaved(a:closure) | ||
endfunction | ||
|
||
function! s:SaveRegister(reg) | ||
return [a:reg, getreg(a:reg, 1), getregtype(a:reg)] | ||
endfunction | ||
|
||
function! s:SaveRegisters() dict | ||
return map([self._register, "", "/", "-", | ||
\ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"], | ||
\ "s:SaveRegister(v:val)") | ||
endfunction | ||
|
||
function! s:RestoreRegisters(registers) dict | ||
for register in a:registers | ||
call call(function("setreg"), register) | ||
endfor | ||
endfunction | ||
|
||
function! vimclojure#util#WithSavedRegister(reg, closure) | ||
let a:closure._register = a:reg | ||
let a:closure.save = function("s:SaveRegisters") | ||
let a:closure.restore = function("s:RestoreRegisters") | ||
|
||
return vimclojure#util#WithSaved(a:closure) | ||
endfunction | ||
|
||
function! s:SaveOption() dict | ||
return eval("&" . self._option) | ||
endfunction | ||
|
||
function! s:RestoreOption(value) dict | ||
execute "let &" . self._option . " = a:value" | ||
endfunction | ||
|
||
function! vimclojure#util#WithSavedOption(option, closure) | ||
let a:closure._option = a:option | ||
let a:closure.save = function("s:SaveOption") | ||
let a:closure.restore = function("s:RestoreOption") | ||
|
||
return vimclojure#util#WithSaved(a:closure) | ||
endfunction | ||
|
||
function! s:DoYank() dict | ||
silent execute self.yank | ||
return getreg(self.reg) | ||
endfunction | ||
|
||
function! vimclojure#util#Yank(r, how) | ||
let closure = { | ||
\ 'reg': a:r, | ||
\ 'yank': a:how, | ||
\ 'f': function("s:DoYank") | ||
\ } | ||
|
||
return vimclojure#util#WithSavedRegister(a:r, closure) | ||
endfunction | ||
|
||
function! vimclojure#util#MoveBackward() | ||
call search('\S', 'Wb') | ||
endfunction | ||
|
||
function! vimclojure#util#MoveForward() | ||
call search('\S', 'W') | ||
endfunction | ||
|
||
" Epilog | ||
let &cpo = s:save_cpo |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
#!/bin/bash | ||
|
||
# Copyright (c) Stephen C. Gilardi. All rights reserved. The use and | ||
# distribution terms for this software are covered by the Eclipse Public | ||
# License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) which can be | ||
# found in the file epl-v10.html at the root of this distribution. By | ||
# using this software in any fashion, you are agreeing to be bound by the | ||
# terms of this license. You must not remove this notice, or any other, | ||
# from this software. | ||
# | ||
# clj-env-dir Launches Clojure, passing along command line arguments. This | ||
# launcher can be configured using environment variables and | ||
# makes it easy to include directories full of classpath roots | ||
# in CLASSPATH. | ||
# | ||
# scgilardi (gmail) | ||
# Created 7 January 2009 | ||
# | ||
# Modified to read in an optional .clojure file in the current directory | ||
# naming further items for the CLASSPATH. | ||
# | ||
# Meikel Brandmeyer (mb ? kotka ! de) | ||
# Frankfurt am Main, 21.08.2009 | ||
# | ||
# Environment variables (optional): | ||
# | ||
# CLOJURE_EXT Colon-delimited list of paths to directories whose top-level | ||
# contents are (either directly or as symbolic links) jar | ||
# files and/or directories whose paths will be in Clojure's | ||
# classpath. The value of the CLASSPATH environment variable | ||
# for Clojure will include these top-level paths followed by | ||
# the previous value of CLASSPATH (if any). | ||
# default: | ||
# example: /usr/local/share/clojure/ext:$HOME/.clojure.d/ext | ||
# | ||
# CLOJURE_JAVA The command to launch a JVM instance for Clojure | ||
# default: java | ||
# example: /usr/local/bin/java6 | ||
# | ||
# CLOJURE_OPTS Java options for this JVM instance | ||
# default: | ||
# example:"-Xms32M -Xmx128M -server" | ||
# | ||
# CLOJURE_MAIN The Java class to launch | ||
# default: clojure.main | ||
# example: clojure.contrib.repl_ln | ||
|
||
set -o errexit | ||
#set -o nounset | ||
#set -o xtrace | ||
|
||
if [ -n "${CLOJURE_EXT:-}" ]; then | ||
OLD="$IFS" | ||
IFS=":" | ||
EXT="$(find -H ${CLOJURE_EXT} -mindepth 1 -maxdepth 1 -print0 | tr \\0 \:)" | ||
IFS="$OLD" | ||
if [ -n "${CLASSPATH:-}" ]; then | ||
CLASSPATH="${EXT}${CLASSPATH}" | ||
else | ||
CLASSPATH="${EXT%:}" | ||
fi | ||
fi | ||
|
||
if [ -f .clojure ]; then | ||
for path in `cat .clojure`; do | ||
if [ -n "${CLASSPATH:-}" ]; then | ||
CLASSPATH="${path}:${CLASSPATH}" | ||
else | ||
CLASSPATH="${path%:}" | ||
fi | ||
done | ||
fi | ||
|
||
export CLASSPATH | ||
|
||
JAVA=${CLOJURE_JAVA:-java} | ||
OPTS=${CLOJURE_OPTS:-} | ||
MAIN=${CLOJURE_MAIN:-clojure.main} | ||
|
||
exec ${JAVA} ${OPTS} ${MAIN} "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
#! /usr/bin/env bash | ||
|
||
# Copyright (c) Stephen C. Gilardi. All rights reserved. The use and | ||
# distribution terms for this software are covered by the Eclipse Public | ||
# License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) which can be | ||
# found in the file epl-v10.html at the root of this distribution. By | ||
# using this software in any fashion, you are agreeing to be bound by the | ||
# terms of this license. You must not remove this notice, or any other, | ||
# from this software. | ||
# | ||
# clj-env-dir Launches Clojure, passing along command line arguments. This | ||
# launcher can be configured using environment variables and | ||
# makes it easy to include directories full of classpath roots | ||
# in CLASSPATH. | ||
# | ||
# scgilardi (gmail) | ||
# Created 7 January 2009 | ||
# | ||
# Modified to act as launcher for the Nailgun server and to read in an | ||
# optional .clojure file in the current directory naming further items | ||
# for the CLASSPATH. | ||
# | ||
# Meikel Brandmeyer (mb ? kotka ! de) | ||
# Frankfurt am Main, 21.08.2009 | ||
# | ||
# Environment variables (optional): | ||
# | ||
# CLOJURE_EXT Colon-delimited list of paths to directories whose top-level | ||
# contents are (either directly or as symbolic links) jar | ||
# files and/or directories whose paths will be in Clojure's | ||
# classpath. The value of the CLASSPATH environment variable | ||
# for Clojure will include these top-level paths followed by | ||
# the previous value of CLASSPATH (if any). | ||
# default: | ||
# example: /usr/local/share/clojure/ext:$HOME/.clojure.d/ext | ||
# | ||
# CLOJURE_JAVA The command to launch a JVM instance for Clojure | ||
# default: java | ||
# example: /usr/local/bin/java6 | ||
# | ||
# CLOJURE_OPTS Java options for this JVM instance | ||
# default: | ||
# example:"-Xms32M -Xmx128M -server" | ||
# | ||
# .clojure A file in the current directory. Every line names an item | ||
# which will be added to the CLASSPATH. | ||
|
||
set -o errexit | ||
#set -o nounset | ||
#set -o xtrace | ||
|
||
if [ -n "${CLOJURE_EXT:-}" ]; then | ||
OLD="$IFS" | ||
IFS=":" | ||
EXT="$(find -H ${CLOJURE_EXT} -mindepth 1 -maxdepth 1 -print0 | tr \\0 \:)" | ||
IFS="$OLD" | ||
if [ -n "${CLASSPATH:-}" ]; then | ||
export CLASSPATH="${EXT}${CLASSPATH}" | ||
else | ||
export CLASSPATH="${EXT%:}" | ||
fi | ||
fi | ||
|
||
if [ -f .clojure ]; then | ||
for path in `cat .clojure`; do | ||
if [ -n "${CLASSPATH:-}" ]; then | ||
export CLASSPATH="${path}:${CLASSPATH}" | ||
else | ||
export CLASSPATH="${path%:}" | ||
fi | ||
done | ||
fi | ||
|
||
JAVA=${CLOJURE_JAVA:-java} | ||
OPTS=${CLOJURE_OPTS:-} | ||
|
||
exec ${JAVA} ${OPTS} vimclojure.nailgun.NGServer 127.0.0.1 "$@" |
Oops, something went wrong.