Switched over from dotemacs to doteverything

This commit is contained in:
Tom Willemsen 2010-06-30 20:59:12 +02:00
commit 722c13a8fc
39 changed files with 29743 additions and 0 deletions

35
.emacs Normal file
View file

@ -0,0 +1,35 @@
(load-file "~/.emacs.d/include.el")
(if (eq system-type 'gnu/linux) ; if we're running linux
(load-file "~/.emacs.d/linux/.emacs"))
(setq inhibit-startup-message t) ; don't show welcome
(setq-default indent-tabs-mode nil) ; spaces, no tabs
(tool-bar-mode nil) ; no toolbar
(menu-bar-mode nil) ; no menu
(line-number-mode nil) ; don't show line numbers in splitter
(global-linum-mode t) ; show line numbers in gutter
(column-number-mode t) ; show column numbers in splitter
(color-theme-weirdness) ; my theme
(global-font-lock-mode t) ; always show syntax higlighting, this may
; be old
(fset 'yes-or-no-p 'y-or-n-p) ; don't want to have to type yes or no
;; Vala Mode
(add-to-list 'auto-mode-alist '("\\.vala$" . vala-mode))
(add-to-list 'auto-mode-alist '("\\.vapi$" . vala-mode))
(add-to-list 'file-coding-system-alist '("\\.vala$" . utf-8))
(add-to-list 'file-coding-system-alist '("\\.vapi$" . utf-8))
;; C# Mode
(setq auto-mode-alist (cons `("\\.cs\\'" . csharp-mode) auto-mode-alist))
;; Autosave location
(setq backup-directory-alist
`((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms
`((".*" ,temporary-file-directory t)))
;; Autocomplete
(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict")
(ac-config-default)

74
.emacs.d/ac-dict/c++-mode Normal file
View file

@ -0,0 +1,74 @@
and
and_eq
asm
auto
bitand
bitor
bool
break
case
catch
char
class
compl
const
const_cast
continue
default
delete
do
double
dynamic_cast
else
enum
explicit
export
extern
false
float
for
friend
goto
if
inline
int
long
mutable
namespace
new
not
not_eq
operator
or
or_eq
private
protected
public
register
reinterpret_cast
return
short
signed
sizeof
static
static_cast
struct
switch
template
this
throw
true
try
typedef
typeid
typename
union
unsigned
using
virtual
void
volatile
wchar_t
while
xor
xor_eq

37
.emacs.d/ac-dict/c-mode Normal file
View file

@ -0,0 +1,37 @@
auto
_Bool
break
case
char
_Complex
const
continue
default
do
double
else
enum
extern
float
for
goto
if
_Imaginary
inline
int
long
register
restrict
return
short
signed
sizeof
static
struct
switch
typedef
union
unsigned
void
volatile
while

View file

@ -0,0 +1,475 @@
*agent*
*clojure-version*
*command-line-args*
*compile-files*
*compile-path*
*err*
*file*
*flush-on-newline*
*in*
*ns*
*out*
*print-dup*
*print-length*
*print-level*
*print-meta*
*print-readably*
*read-eval*
*warn-on-reflection*
accessor
aclone
add-classpath
add-watch
agent
agent-error
agent-errors
aget
alength
alias
all-ns
alter
alter-meta!
alter-var-root
amap
ancestors
and
apply
areduce
array-map
aset
aset-boolean
aset-byte
aset-char
aset-double
aset-float
aset-int
aset-long
aset-short
assert
assoc
assoc!
assoc-in
associative?
atom
await
await-for
bases
bean
bigdec
bigint
binding
bit-and
bit-and-not
bit-clear
bit-flip
bit-not
bit-or
bit-set
bit-shift-left
bit-shift-right
bit-test
bit-xor
boolean
boolean-array
booleans
bound-fn
bound-fn*
butlast
byte
byte-array
bytes
case
cast
char
char-array
char-escape-string
char-name-string
char?
chars
class
class?
clear-agent-errors
clojure-version
coll?
comment
commute
comp
comparator
compare
compare-and-set!
compile
complement
concat
cond
condp
conj
conj!
cons
constantly
construct-proxy
contains?
count
counted?
create-ns
create-struct
cycle
dec
decimal?
declare
definline
defmacro
defmethod
defmulti
defn
defn-
defonce
defprotocol
defstruct
deftype
delay
delay?
deliver
deref
derive
descendants
disj
disj!
dissoc
dissoc!
distinct
distinct?
doall
doc
dorun
doseq
dosync
dotimes
doto
double
double-array
doubles
drop
drop-last
drop-while
dtype
empty
empty?
ensure
enumeration-seq
error-handler
error-mode
eval
even?
every?
extend
extend-class
extend-protocol
extend-type
extenders
extends?
false?
ffirst
file-seq
filter
find
find-doc
find-ns
find-var
first
float
float-array
float?
floats
flush
fn
fn?
fnext
for
force
format
future
future-call
future-cancel
future-cancelled?
future-done?
future?
gen-class
gen-interface
gensym
get
get-in
get-method
get-proxy-class
get-thread-bindings
get-validator
hash
hash-map
hash-set
identical?
identity
if-let
if-not
ifn?
import
in-ns
inc
init-proxy
instance?
int
int-array
integer?
interleave
intern
interpose
into
into-array
ints
io!
isa?
iterate
iterator-seq
juxt
key
keys
keyword
keyword?
last
lazy-cat
lazy-seq
let
letfn
line-seq
list
list*
list?
load
load-file
load-reader
load-string
loaded-libs
locking
long
long-array
longs
loop
macroexpand
macroexpand-1
make-array
make-hierarchy
map
map?
mapcat
max
max-key
memfn
memoize
merge
merge-with
meta
methods
min
min-key
mod
name
namespace
neg?
newline
next
nfirst
nil?
nnext
not
not-any?
not-empty
not-every?
not=
ns
ns-aliases
ns-imports
ns-interns
ns-map
ns-name
ns-publics
ns-refers
ns-resolve
ns-unalias
ns-unmap
nth
nthnext
num
number?
object-array
odd?
or
parents
partial
partition
pcalls
peek
persistent!
pmap
pop
pop!
pop-thread-bindings
pos?
pr
pr-str
prefer-method
prefers
print
print-namespace-doc
print-str
printf
println
println-str
prn
prn-str
promise
proxy
proxy-mappings
proxy-super
push-thread-bindings
pvalues
quot
rand
rand-int
range
ratio?
rationalize
re-find
re-groups
re-matcher
re-matches
re-pattern
re-seq
read
read-line
read-string
reduce
ref
ref-history-count
ref-max-history
ref-min-history
ref-set
refer
refer-clojure
reify
release-pending-sends
rem
remove
remove-method
remove-ns
remove-watch
repeat
repeatedly
replace
replicate
require
reset!
reset-meta!
resolve
rest
restart-agent
resultset-seq
reverse
reversible?
rseq
rsubseq
satisfies?
second
select-keys
send
send-off
seq
seq?
seque
sequence
sequential?
set
set-error-handler!
set-error-mode!
set-validator!
set?
short
short-array
shorts
shutdown-agents
slurp
some
sort
sort-by
sorted-map
sorted-map-by
sorted-set
sorted-set-by
sorted?
special-form-anchor
special-symbol?
split-at
split-with
str
stream?
string?
struct
struct-map
subs
subseq
subvec
supers
swap!
symbol
symbol?
sync
syntax-symbol-anchor
take
take-last
take-nth
take-while
test
the-ns
time
to-array
to-array-2d
trampoline
transient
tree-seq
true?
type
unchecked-add
unchecked-dec
unchecked-divide
unchecked-inc
unchecked-multiply
unchecked-negate
unchecked-remainder
unchecked-subtract
underive
update-in
update-proxy
use
val
vals
var-get
var-set
var?
vary-meta
vec
vector
vector-of
vector?
when
when-first
when-let
when-not
while
with-bindings
with-bindings*
with-in-str
with-local-vars
with-meta
with-open
with-out-str
with-precision
xml-seq
zero?
zipmap

747
.emacs.d/ac-dict/css-mode Normal file
View file

@ -0,0 +1,747 @@
!important
ActiveBorder
ActiveCaption
Alpha
AppWorkspace
Background
Barn
BasicImage
Blinds
Blur
ButtonFace
ButtonHighlight
ButtonShadow
ButtonText
CaptionText
CheckerBoard
Chroma
Compositor
CradientWipe
DXImageTransform
DropShadow
Emboss
Engrave
Fade
FlipH
FlipV
Glow
Gray
GrayText
Highlight
HighlightText
Hz
ICMFilter
InactiveBorder
InactiveCaption
InactiveCaptionText
InfoBackground
InfoText
Inset
Invert
Iris
Light
MaskFilter
Matrix
Menu
MenuText
Microsoft
MotionBlur
Pixelate
RadialWipe
RandomBars
RandomDissolve
RevealTrans
Scrollbar
Shadow
Slide
Spiral
Stretch
Strips
ThreeDDarkShadow
ThreeDFace
ThreeDHighlight
ThreeDLightShadow
ThreeDShadow
Wave
Wheel
Window
WindowFrame
WindowText
Xray
Zigzag
_azimuth
_background
_background-position-x
_background-position-y
_border
_bottom
_caption
_clear
_clip
_color
_content
_counter
_cue
_cursor
_direction
_display
_elevation
_empty
_filter
_filter:progid:DXImageTransform.Microsoft
_float
_font
_height
_ime
_ime-mode
_layout
_layout-flow
_layout-grid
_layout-grid-char
_layout-grid-line
_layout-grid-mode
_layout-grid-type
_left
_letter
_line
_line-break
_list
_margin
_orphans
_outline
_overflow
_overflow-x
_overflow-y
_padding
_page
_pause
_pitch
_play
_position
_quotes
_richness
_right
_ruby
_ruby-align
_ruby-overhang
_ruby-position
_scrollbar
_scrollbar-3dlight-color
_scrollbar-arrow-color
_scrollbar-base-color
_scrollbar-darkshadow-color
_scrollbar-face-color
_scrollbar-highlight-color
_scrollbar-track-color
_speak
_speech
_stress
_table
_text
_text-align-last
_text-autospace
_text-justify
_text-kashida-space
_text-overflow
_text-underline-position
_top
_unicode
_vertical
_visibility
_voice
_volume
_white
_widows
_width
_word
_word-break
_word-wrap
_writing
_writing-mode
_z
_zoom
above
active
adjust
after
aliceblue
align
always
antiquewhite
aqua
aquamarine
armenian
arrow
attachment
auto
autospace
avoid
azimuth
azure
background
background-attachment
background-color
background-image
background-position
background-repeat
bar
base
baseline
before
behind
beige
below
bidi
bidi-override
bisque
black
blanchedalmond
blink
block
blue
blueviolet
bold
bolder
border
border-bottom
border-bottom-color
border-bottom-style
border-bottom-width
border-collapse
border-color
border-left
border-left-color
border-left-style
border-left-width
border-right
border-right-color
border-right-style
border-right-width
border-spacing
border-style
border-top
border-top-color
border-top-style
border-top-width
border-width
both
bottom
box
break
brown
burlwood
cadetblue
capitalize
caps
caption
caption-side
cell
cells
center
center-left
center-right
char
chartreuse
chocolate
circle
cjk
cjk-ideographic
clear
clip
close
close-quote
cm
code
collapse
color
column
compact
condensed
content
continuous
coral
cornflowerblue
cornsilk
counter
counter-increment
counter-reset
crimson
crop
cross
crosshair
cue
cue-after
cue-before
cursive
cursor
cyan
darkblue
darkcyan
darkgoldenrod
darkgray
darkgreen
darkkhaki
darkmagenta
darkolivegreen
darkorange
darkorchid
darkred
darksalmon
darkseagreen
darkshadow
darkslateblue
darkslategray
darkturquoise
darkviolet
dashed
decimal
decimal-leading-zero
decoration
deeppink
deepskyblue
default
deg
digits
dimgray
direction
disc
display
dodgerblue
dotted
double
during
e
e-resize
elevation
em
embed
empty
empty-cells
ex
expanded
extra
extra-condensed
extra-expanded
face
family
fantasy
far
far-left
far-right
fast
faster
firebrick
first
first-child
first-letter
first-line
fixed
float
floralwhite
flow
focus
font
font-family
font-size
font-size-adjust
font-stretch
font-style
font-variant
font-weight
footer
forestgreen
fuchsia
gainsboro
georgian
ghostwhite
gold
goldenrod
gray
greek
green
greenyellow
grid
groove
group
header
hebrew
height
help
hidden
hide
high
higher
hiragana
hiragana-iroha
honeydew
hotpink
hover
icon
ideographic
image
in
increment
indent
index
indianred
indigo
inherit
inline
inline-block
inline-table
inset
inside
iroha
italic
item
ivory
justify
kHz
kashida
katakana
katakana-iroha
khaki
landscape
lang()
large
larger
last
latin
lavender
lavenderblush
lawngreen
layout
leading
left
left-side
leftwards
lenonchiffon
letter
letter-spacing
level
lightblue
lightcoral
lightcyan
lighter
lightgoldenrodyellow
lightgray
lightgreen
lightgrey
lightpink
lightsalmon
lightseagreen
lightskyblue
lightslategray
lightsteelblue
lightyellow
lime
limegreen
line
line-height
line-through
linen
link
list
list-item
list-style
list-style-image
list-style-position
list-style-type
loud
low
lower
lower-alpha
lower-greek
lower-latin
lower-roman
lowercase
ltr
magenta
margin
margin-bottom
margin-left
margin-right
margin-top
marker
marker-offset
marks
maroon
max
max-height
max-width
medium
mediumaquamarine
mediumblue
mediumorchid
mediumpurple
mediumseagreen
mediumslateblue
mediumspringgreen
mediumturquoise
mediumvioletred
menu
message
message-box
middle
midnightblue
min
min-height
min-width
mintcream
mistyrose
mix
mm
moccasin
mode
monospace
move
ms
n
n-resize
naby
narrower
navajowhite
ne
ne-resize
no
no-close-quote
no-open-quote
no-repeat
none
normal
nowrap
number
numeral
nw
nw-resize
oblique
offset
oldlace
olive
olivedrab
once
open
open-quote
orange
orangered
orchid
orphans
out
outline
outline-color
outline-style
outline-width
outset
outside
overflow
overhang
overline
override
padding
padding-bottom
padding-left
padding-right
padding-top
page
page-break-after
page-break-before
page-break-inside
palegoldenrod
palegreen
paleturquoise
palevioletred
papayawhip
pause
pause-after
pause-before
pc
peachpuff
peru
pink
pitch
pitch-range
play
play-during
plum
pointer
portarait
position
powderblue
pre
pre-line
pre-wrap
progid
progress
pt
punctuation
purple
px
quote
quotes
rad
range
rate
red
relative
repeat
repeat-x
repeat-y
reset
resize
richness
ridge
right
right-side
rightwards
roman
rosybrown
row
royalblue
rtl
run
run-in
s
s-resize
saddlebrown
salmon
sandybrown
sans-serif
scroll
se
se-resize
seagreen
seashell
semi
semi-condensed
semi-expanded
separate
serif
shadow
show
side
sienna
silent
silever
silver
size
skyblue
slateblue
slategray
slow
slower
small
small-caps
small-caption
smaller
snow
soft
solid
space
spacing
speak
speak-header
speak-numeral
speak-punctuation
specific
specific-voice
speech
speech-rate
spell
spell-out
springgreen
square
static
status
status-bar
steelblue
stress
stretch
style
sub
super
sw
sw-resize
table
table-caption
table-cell
table-column
table-column-group
table-footer-group
table-header-group
table-layout
table-row
table-row-group
tan
teal
text
text-align
text-bottom
text-decoration
text-indent
text-shadow
text-top
text-transform
thick
thin
thistle
through
tomato
top
track
transform
transparent
turquoise
type
ultra
ultra-condensed
ultra-expanded
underline
unicode
unicode-bidi
upper
upper-alpha
upper-latin
upper-roman
uppercase
variant
vertical
vertical-align
violet
visibility
visible
visited
voice
voice-family
volume
w
w-resize
wait
weight
wheat
white
white-space
whitesmoke
wider
widows
width
word
word-spacing
wrap
x
x-fast
x-high
x-large
x-loud
x-low
x-slow
x-small
x-soft
xx
xx-large
xx-small
y
yellow
yellowgreen
z
z-index
zero

View file

@ -0,0 +1,50 @@
abstract
assert
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
enum
extends
final
finally
float
for
goto
if
implements
import
instanceof
int
interface
long
native
new
package
private
protected
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
try
void
volatile
while

View file

@ -0,0 +1,148 @@
Anchor
Area
Array
Boolean
Button
Checkbox
Date
Document
Element
FileUpload
Form
Frame
Function
Hidden
History
Image
Infinity
JavaArray
JavaClass
JavaObject
JavaPackage
Link
Location
Math
MimeType
NaN
Navigator
Number
Object
Option
Packages
Password
Plugin
Radio
RegExp
Reset
Select
String
Submit
Text
Textarea
Window
alert
arguments
assign
blur
break
callee
caller
captureEvents
case
clearInterval
clearTimeout
close
closed
comment
confirm
constructor
continue
default
defaultStatus
delete
do
document
else
escape
eval
export
find
focus
for
frames
function
getClass
history
home
if
import
in
innerHeight
innerWidth
isFinite
isNan
java
label
length
location
locationbar
menubar
moveBy
moveTo
name
navigate
navigator
netscape
new
onBlur
onError
onFocus
onLoad
onUnload
open
opener
outerHeight
outerWidth
pageXoffset
pageYoffset
parent
parseFloat
parseInt
personalbar
print
prompt
prototype
ref
releaseEvents
resizeBy
resizeTo
return
routeEvent
scroll
scrollBy
scrollTo
scrollbars
self
setInterval
setTimeout
status
statusbar
stop
sun
switch
taint
this
toString
toolbar
top
typeof
unescape
untaint
unwatch
valueOf
var
void
watch
while
window
with

62
.emacs.d/ac-dict/php-mode Normal file
View file

@ -0,0 +1,62 @@
and
array
as
break
case
catch
cfunction
class
clone
const
continue
declare
default
die
do
echo
else
elseif
empty
enddeclare
endfor
endforeach
endif
endswitch
endwhile
eval
exit
extends
final
for
foreach
function
global
goto
if
implements
include
include_once
instanceof
interface
isset
list
namespace
new
old_function
or
print
private
protected
public
require
require_once
return
static
switch
throw
try
unset
use
var
while
xor

View file

@ -0,0 +1,104 @@
__import__
abs
and
any
apply
as
assert
basestring
bin
bool
break
buffer
class
cmp
coerce
complex
continue
def
del
delattr
dict
dir
divmod
elif
else
enumerate
eval
except
exec
execfile
file
filter
finally
float
for
format
from
frozenset
getattr
global
globals
hasattr
hash
help
hex
id
if
import
in
input
int
intern
is
isinstance
issubclass
iter
lambda
len
list
locals
long
map
max
min
next
not
object
oct
open
or
ord
pass
pow
print
print
property
raise
range
raw_input
reduce
reload
repr
return
reversed
round
set
setattr
slice
sorted
staticmethod
str
sum
super
try
tuple
type
unichr
unicode
vars
while
with
xrange
yield
zip

181
.emacs.d/ac-dict/ruby-mode Normal file
View file

@ -0,0 +1,181 @@
$!
$"
$$
$&
$'
$*
$+
$,
$-0
$-F
$-I
$-K
$-a
$-d
$-i
$-l
$-p
$-v
$-w
$.
$/
$0
$1
$10
$11
$2
$3
$4
$5
$6
$7
$8
$9
$:
$;
$<
$=
$>
$?
$@
$DEBUG
$FILENAME
$KCODE
$LOADED_FEATURES
$LOAD_PATH
$PROGRAM_NAME
$SAFE
$VERBOSE
$\
$_
$`
$deferr
$defout
$stderr
$stdin
$stdout
$~
ARGF
ARGV
Array
BEGIN
DATA
END
ENV
FALSE
Float
Integer
NIL
PLATFORM
RELEASE_DATE
RUBY_COPYRIGHT
RUBY_DESCRIPTION
RUBY_PATCHLEVEL
RUBY_PLATFORM
RUBY_RELEASE_DATE
RUBY_VERSION
SCRIPT_LINES__
STDERR
STDIN
STDOUT
String
TOPLEVEL_BINDING
TRUE
VERSION
__method__
`
abort
alias
and
at_exit
autoload
autoload?
begin
binding
block_given
break
callcc
caller
case
catch
chomp
chomp!
chop
chop
class
def
defined?
do
else
elsif
end
ensure
eval
exec
exit
exit!
fail
false
for
fork
format
getc
gets
global_variables
gsub
gsub!
if
in
iterator?
lambda
load
local_varaibles
loop
module
next
nil
not
open
or
p
printf
proc
putc
puts
raise
rand
readline
readlines
redo
require
require_relative
rescue
retry
return
scan
select
self
set_trace_func
sleep
split
sprintf
srand
sub
sub!
super
syscall
system
test
then
throw
trace_var
trap
true
undef
unless
until
untrace_var
warn
when
while
yield

View file

@ -0,0 +1,216 @@
case-lambda
call/cc
class
define-class
exit-handler
field
import
inherit
init-field
interface
let*-values
let-values
let/ec
mixin
opt-lambda
override
protect
provide
public
rename
require
require-for-syntax
syntax
syntax-case
syntax-error
unit/sig
unless
when
with-syntax
and
begin
call-with-current-continuation
call-with-input-file
call-with-output-file
case
cond
define
define-syntax
delay
do
dynamic-wind
else
for-each
if
lambda
let
let*
let-syntax
letrec
letrec-syntax
map
or
syntax-rules
abs
acos
angle
append
apply
asin
assoc
assq
assv
atan
boolean?
caar
cadr
call-with-input-file
call-with-output-file
call-with-values
car
cdddar
cddddr
cdr
ceiling
char->integer
char-alphabetic?
char-ci<=?
char-ci<?
char-ci=?
char-ci>=?
char-ci>?
char-downcase
char-lower-case?
char-numeric?
char-ready?
char-upcase
char-upper-case?
char-whitespace?
char<=?
char<?
char=?
char>=?
char>?
char?
close-input-port
close-output-port
complex?
cons
cos
current-input-port
current-output-port
denominator
display
eof-object?
eq?
equal?
eqv?
eval
even?
exact->inexact
exact?
exp
expt
#f
floor
force
gcd
imag-part
inexact->exact
inexact?
input-port?
integer->char
integer?
interaction-environment
lcm
length
list
list->string
list->vector
list-ref
list-tail
list?
load
log
magnitude
make-polar
make-rectangular
make-string
make-vector
max
member
memq
memv
min
modulo
negative?
newline
not
null-environment
null?
number->string
number?
numerator
odd?
open-input-file
open-output-file
output-port?
pair?
peek-char
port?
positive?
procedure?
quasiquote
quote
quotient
rational?
rationalize
read
read-char
real-part
real?
remainder
reverse
round
scheme-report-environment
set!
set-car!
set-cdr!
sin
sqrt
string
string->list
string->number
string->symbol
string-append
string-ci<=?
string-ci<?
string-ci=?
string-ci>=?
string-ci>?
string-copy
string-fill!
string-length
string-ref
string-set!
string<=?
string<?
string=?
string>=?
string>?
string?
substring
symbol->string
symbol?
#t
tan
transcript-off
transcript-on
truncate
values
vector
vector->list
vector-fill!
vector-length
vector-ref
vector-set!

172
.emacs.d/ac-dict/tcl-mode Normal file
View file

@ -0,0 +1,172 @@
after
append
apply
array
auto_execok
auto_import
auto_load
auto_load_index
auto_mkindex
auto_mkindex_old
auto_qualify
auto_reset
bell
binary
bind
bindtags
break
button
canvas
case
catch
cd
chan
checkbutton
clipboard
clock
close
concat
continue
destroy
dict
encoding
entry
eof
error
eval
event
exec
exit
expr
fblocked
fconfigure
fcopy
file
fileevent
flush
focus
font
for
foreach
format
frame
gets
glob
global
grab
grid
if
image
incr
info
interp
join
label
labelframe
lappend
lassign
lindex
linsert
list
listbox
llength
load
lower
lrange
lrepeat
lreplace
lreverse
lsearch
lset
lsort
menu
menubutton
message
namespace
open
option
pack
package
panedwindow
pid
pkg_mkIndex
place
proc
puts
pwd
radiobutton
raise
read
regexp
registry
regsub
rename
return
scale
scan
scrollbar
seek
selection
set
socket
source
spinbox
split
string
subst
switch
tclLog
tclPkgSetup
tclPkgUnknown
tcl_findLibrary
tell
text
time
tk
tk_chooseColor
tk_chooseDirectory
tk_getOpenFile
tk_getSaveFile
tk_menuSetFocus
tk_messageBox
tk_popup
tk_textCopy
tk_textCut
tk_textPaste
tkwait
toplevel
ttk::button
ttk::checkbutton
ttk::combobox
ttk::entry
ttk::focusFirst
ttk::frame
ttk::label
ttk::labelframe
ttk::menubutton
ttk::notebook
ttk::paned
ttk::panedwindow
ttk::progressbar
ttk::radiobutton
ttk::scale
ttk::scrollbar
ttk::separator
ttk::setTheme
ttk::sizegrip
ttk::style
ttk::takefocus
ttk::themes
ttk::treeview
trace
unknown
unload
unset
update
uplevel
upvar
variable
vwait
while
winfo
wm

View file

@ -0,0 +1,480 @@
;;; auto-complete-config.el --- auto-complete additional configuations
;; Copyright (C) 2009, 2010 Tomohiro Matsuyama
;; Author: Tomohiro Matsuyama <m2ym.pub@gmail.com>
;; Keywords: convenience
;; Version: 1.3
;; 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 3 of the License, 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 program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;;
;;; Code:
(eval-when-compile
(require 'cl))
(require 'auto-complete)
;;;; Additional sources
;; imenu
(defvar ac-imenu-index nil)
(ac-clear-variable-every-10-minutes 'ac-imenu-index)
(defun ac-imenu-candidates ()
(loop with i = 0
with stack = (progn
(unless (local-variable-p 'ac-imenu-index)
(make-local-variable 'ac-imenu-index))
(or ac-imenu-index
(setq ac-imenu-index
(ignore-errors
(with-no-warnings
(imenu--make-index-alist))))))
with result
while (and stack (or (not (integerp ac-limit))
(< i ac-limit)))
for node = (pop stack)
if (consp node)
do
(let ((car (car node))
(cdr (cdr node)))
(if (consp cdr)
(mapc (lambda (child)
(push child stack))
cdr)
(when (and (stringp car)
(string-match (concat "^" (regexp-quote ac-prefix)) car))
;; Remove extra characters
(if (string-match "^.*\\(()\\|=\\|<>\\)$" car)
(setq car (substring car 0 (match-beginning 1))))
(push car result)
(incf i))))
finally return (nreverse result)))
(ac-define-source imenu
'((depends imenu)
(candidates . ac-imenu-candidates)
(symbol . "s")))
;; gtags
(defface ac-gtags-candidate-face
'((t (:background "lightgray" :foreground "navy")))
"Face for gtags candidate"
:group 'auto-complete)
(defface ac-gtags-selection-face
'((t (:background "navy" :foreground "white")))
"Face for the gtags selected candidate."
:group 'auto-complete)
(defun ac-gtags-candidate ()
(ignore-errors
(split-string (shell-command-to-string (format "global -ci %s" ac-prefix)) "\n")))
(ac-define-source gtags
'((candidates . ac-gtags-candidate)
(candidate-face . ac-gtags-candidate-face)
(selection-face . ac-gtags-selection-face)
(requires . 3)
(symbol . "s")))
;; yasnippet
(defface ac-yasnippet-candidate-face
'((t (:background "sandybrown" :foreground "black")))
"Face for yasnippet candidate."
:group 'auto-complete)
(defface ac-yasnippet-selection-face
'((t (:background "coral3" :foreground "white")))
"Face for the yasnippet selected candidate."
:group 'auto-complete)
(defun ac-yasnippet-table-hash (table)
(cond
((fboundp 'yas/snippet-table-hash)
(yas/snippet-table-hash table))
((fboundp 'yas/table-hash)
(yas/table-hash table))))
(defun ac-yasnippet-table-parent (table)
(cond
((fboundp 'yas/snippet-table-parent)
(yas/snippet-table-parent table))
((fboundp 'yas/table-parent)
(yas/table-parent table))))
(defun ac-yasnippet-candidate-1 (table)
(with-no-warnings
(let ((hashtab (ac-yasnippet-table-hash table))
(parent (ac-yasnippet-table-parent table))
candidates)
(maphash (lambda (key value)
(push key candidates))
hashtab)
(setq candidates (all-completions ac-prefix (nreverse candidates)))
(if parent
(setq candidates
(append candidates (ac-yasnippet-candidate-1 parent))))
candidates)))
(defun ac-yasnippet-candidates ()
(with-no-warnings
(if (fboundp 'yas/get-snippet-tables)
;; >0.6.0
(apply 'append (mapcar 'ac-yasnippet-candidate-1 (yas/get-snippet-tables major-mode)))
(let ((table
(if (fboundp 'yas/snippet-table)
;; <0.6.0
(yas/snippet-table major-mode)
;; 0.6.0
(yas/current-snippet-table))))
(if table
(ac-yasnippet-candidate-1 table))))))
(ac-define-source yasnippet
'((depends yasnippet)
(candidates . ac-yasnippet-candidates)
(action . yas/expand)
(candidate-face . ac-yasnippet-candidate-face)
(selection-face . ac-yasnippet-selection-face)
(symbol . "a")))
;; semantic
(defun ac-semantic-candidates (prefix)
(with-no-warnings
(delete "" ; semantic sometimes returns an empty string
(mapcar 'semantic-tag-name
(ignore-errors
(or (semantic-analyze-possible-completions
(semantic-analyze-current-context))
(senator-find-tag-for-completion prefix)))))))
(ac-define-source semantic
'((available . (or (require 'semantic-ia nil t)
(require 'semantic/ia nil t)))
(candidates . (ac-semantic-candidates ac-prefix))
(prefix . c-dot-ref)
(requires . 0)
(symbol . "m")))
(ac-define-source semantic-raw
'((available . (or (require 'semantic-ia nil t)
(require 'semantic/ia nil t)))
(candidates . (ac-semantic-candidates ac-prefix))
(symbol . "s")))
;; eclim
(defun ac-eclim-candidates ()
(with-no-warnings
(loop for c in (eclim/java-complete)
collect (nth 1 c))))
(ac-define-source eclim
'((candidates . ac-eclim-candidates)
(prefix . c-dot)
(requires . 0)
(symbol . "f")))
;; css
;; Copied from company-css.el
(defconst ac-css-property-alist
;; see http://www.w3.org/TR/CSS21/propidx.html
'(("azimuth" angle "left-side" "far-left" "left" "center-left" "center"
"center-right" "right" "far-right" "right-side" "behind" "leftwards"
"rightwards")
("background" background-color background-image background-repeat
background-attachment background-position)
("background-attachment" "scroll" "fixed")
("background-color" color "transparent")
("background-image" uri "none")
("background-position" percentage length "left" "center" "right" percentage
length "top" "center" "bottom" "left" "center" "right" "top" "center"
"bottom")
("background-repeat" "repeat" "repeat-x" "repeat-y" "no-repeat")
("border" border-width border-style border-color)
("border-bottom" border)
("border-bottom-color" border-color)
("border-bottom-style" border-style)
("border-bottom-width" border-width)
("border-collapse" "collapse" "separate")
("border-color" color "transparent")
("border-left" border)
("border-left-color" border-color)
("border-left-style" border-style)
("border-left-width" border-width)
("border-right" border)
("border-right-color" border-color)
("border-right-style" border-style)
("border-right-width" border-width)
("border-spacing" length length)
("border-style" border-style)
("border-top" border)
("border-top-color" border-color)
("border-top-style" border-style)
("border-top-width" border-width)
("border-width" border-width)
("bottom" length percentage "auto")
("caption-side" "top" "bottom")
("clear" "none" "left" "right" "both")
("clip" shape "auto")
("color" color)
("content" "normal" "none" string uri counter "attr()" "open-quote"
"close-quote" "no-open-quote" "no-close-quote")
("counter-increment" identifier integer "none")
("counter-reset" identifier integer "none")
("cue" cue-before cue-after)
("cue-after" uri "none")
("cue-before" uri "none")
("cursor" uri "*" "auto" "crosshair" "default" "pointer" "move" "e-resize"
"ne-resize" "nw-resize" "n-resize" "se-resize" "sw-resize" "s-resize"
"w-resize" "text" "wait" "help" "progress")
("direction" "ltr" "rtl")
("display" "inline" "block" "list-item" "run-in" "inline-block" "table"
"inline-table" "table-row-group" "table-header-group" "table-footer-group"
"table-row" "table-column-group" "table-column" "table-cell"
"table-caption" "none")
("elevation" angle "below" "level" "above" "higher" "lower")
("empty-cells" "show" "hide")
("float" "left" "right" "none")
("font" font-style font-variant font-weight font-size "/" line-height
font-family "caption" "icon" "menu" "message-box" "small-caption"
"status-bar")
("font-family" family-name generic-family)
("font-size" absolute-size relative-size length percentage)
("font-style" "normal" "italic" "oblique")
("font-variant" "normal" "small-caps")
("font-weight" "normal" "bold" "bolder" "lighter" "100" "200" "300" "400"
"500" "600" "700" "800" "900")
("height" length percentage "auto")
("left" length percentage "auto")
("letter-spacing" "normal" length)
("line-height" "normal" number length percentage)
("list-style" list-style-type list-style-position list-style-image)
("list-style-image" uri "none")
("list-style-position" "inside" "outside")
("list-style-type" "disc" "circle" "square" "decimal" "decimal-leading-zero"
"lower-roman" "upper-roman" "lower-greek" "lower-latin" "upper-latin"
"armenian" "georgian" "lower-alpha" "upper-alpha" "none")
("margin" margin-width)
("margin-bottom" margin-width)
("margin-left" margin-width)
("margin-right" margin-width)
("margin-top" margin-width)
("max-height" length percentage "none")
("max-width" length percentage "none")
("min-height" length percentage)
("min-width" length percentage)
("orphans" integer)
("outline" outline-color outline-style outline-width)
("outline-color" color "invert")
("outline-style" border-style)
("outline-width" border-width)
("overflow" "visible" "hidden" "scroll" "auto")
("padding" padding-width)
("padding-bottom" padding-width)
("padding-left" padding-width)
("padding-right" padding-width)
("padding-top" padding-width)
("page-break-after" "auto" "always" "avoid" "left" "right")
("page-break-before" "auto" "always" "avoid" "left" "right")
("page-break-inside" "avoid" "auto")
("pause" time percentage)
("pause-after" time percentage)
("pause-before" time percentage)
("pitch" frequency "x-low" "low" "medium" "high" "x-high")
("pitch-range" number)
("play-during" uri "mix" "repeat" "auto" "none")
("position" "static" "relative" "absolute" "fixed")
("quotes" string string "none")
("richness" number)
("right" length percentage "auto")
("speak" "normal" "none" "spell-out")
("speak-header" "once" "always")
("speak-numeral" "digits" "continuous")
("speak-punctuation" "code" "none")
("speech-rate" number "x-slow" "slow" "medium" "fast" "x-fast" "faster"
"slower")
("stress" number)
("table-layout" "auto" "fixed")
("text-align" "left" "right" "center" "justify")
("text-decoration" "none" "underline" "overline" "line-through" "blink")
("text-indent" length percentage)
("text-transform" "capitalize" "uppercase" "lowercase" "none")
("top" length percentage "auto")
("unicode-bidi" "normal" "embed" "bidi-override")
("vertical-align" "baseline" "sub" "super" "top" "text-top" "middle"
"bottom" "text-bottom" percentage length)
("visibility" "visible" "hidden" "collapse")
("voice-family" specific-voice generic-voice "*" specific-voice
generic-voice)
("volume" number percentage "silent" "x-soft" "soft" "medium" "loud"
"x-loud")
("white-space" "normal" "pre" "nowrap" "pre-wrap" "pre-line")
("widows" integer)
("width" length percentage "auto")
("word-spacing" "normal" length)
("z-index" "auto" integer))
"A list of CSS properties and their possible values.")
(defconst ac-css-value-classes
'((absolute-size "xx-small" "x-small" "small" "medium" "large" "x-large"
"xx-large")
(border-style "none" "hidden" "dotted" "dashed" "solid" "double" "groove"
"ridge" "inset" "outset")
(color "aqua" "black" "blue" "fuchsia" "gray" "green" "lime" "maroon" "navy"
"olive" "orange" "purple" "red" "silver" "teal" "white" "yellow"
"rgb")
(counter "counter")
(family-name "Courier" "Helvetica" "Times")
(generic-family "serif" "sans-serif" "cursive" "fantasy" "monospace")
(generic-voice "male" "female" "child")
(margin-width "auto") ;; length percentage
(relative-size "larger" "smaller")
(shape "rect")
(uri "url"))
"A list of CSS property value classes and their contents.")
(defconst ac-css-pseudo-classes
'("active" "after" "before" "first" "first-child" "first-letter" "first-line"
"focus" "hover" "lang" "left" "link" "right" "visited")
"Identifiers for CSS pseudo-elements and pseudo-classes.")
(defvar ac-css-property nil
"Current editing property.")
(defun ac-css-prefix ()
(when (save-excursion (re-search-backward "\\_<\\(.+?\\)\\_>\\s *:.*\\=" nil t))
(setq ac-css-property (match-string 1))
(or (ac-prefix-symbol) (point))))
(defun ac-css-property-candidates ()
(or (loop with list = (assoc-default ac-css-property ac-css-property-alist)
with value
while (setq value (pop list))
if (symbolp value)
do (setq list
(append list
(or (assoc-default value ac-css-value-classes)
(assoc-default (symbol-name value) ac-css-property-alist))))
else collect value)
ac-css-pseudo-classes))
(defvar ac-source-css-property
'((candidates . ac-css-property-candidates)
(prefix . ac-css-prefix)
(requires . 0)))
;;;; Not maintained sources
;; ropemacs
(defvar ac-ropemacs-loaded nil)
(defun ac-ropemacs-require ()
(with-no-warnings
(unless ac-ropemacs-loaded
(pymacs-load "ropemacs" "rope-")
(if (boundp 'ropemacs-enable-autoimport)
(setq ropemacs-enable-autoimport t))
(setq ac-ropemacs-loaded t))))
(defun ac-ropemacs-setup ()
(ac-ropemacs-require)
;(setq ac-sources (append (list 'ac-source-ropemacs) ac-sources))
(setq ac-omni-completion-sources '(("\\." ac-source-ropemacs))))
(defun ac-ropemacs-initialize ()
(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-exec "pymacs" nil t)
(autoload 'pymacs-load "pymacs" nil t)
(add-hook 'python-mode-hook 'ac-ropemacs-setup)
t)
(defvar ac-ropemacs-completions-cache nil)
(defvar ac-source-ropemacs
'((init
. (lambda ()
(setq ac-ropemacs-completions-cache
(mapcar
(lambda (completion)
(concat ac-prefix completion))
(ignore-errors
(rope-completions))))))
(candidates . ac-ropemacs-completions-cache)))
;; rcodetools
(defvar ac-source-rcodetools
'((init . (lambda ()
(require 'rcodetools)
(condition-case x
(save-excursion
(rct-exec-and-eval rct-complete-command-name "--completion-emacs-icicles"))
(error) (setq rct-method-completion-table nil))))
(candidates . (lambda ()
(all-completions
ac-prefix
(mapcar
(lambda (completion)
(replace-regexp-in-string "\t.*$" "" (car completion)))
rct-method-completion-table))))))
;;;; Default settings
(defun ac-common-setup ()
(add-to-list 'ac-sources 'ac-source-filename))
(defun ac-emacs-lisp-mode-setup ()
(setq ac-sources (append '(ac-source-features ac-source-functions ac-source-yasnippet ac-source-variables ac-source-symbols) ac-sources)))
(defun ac-cc-mode-setup ()
(setq ac-sources (append '(ac-source-yasnippet ac-source-gtags) ac-sources)))
(defun ac-ruby-mode-setup ()
(make-local-variable 'ac-ignores)
(add-to-list 'ac-ignores "end"))
(defun ac-css-mode-setup ()
(setq ac-sources (append '(ac-source-css-property) ac-sources)))
(defun ac-config-default ()
(setq-default ac-sources '(ac-source-abbrev ac-source-dictionary ac-source-words-in-same-mode-buffers))
(add-hook 'emacs-lisp-mode-hook 'ac-emacs-lisp-mode-setup)
(add-hook 'c-mode-common-hook 'ac-cc-mode-setup)
(add-hook 'ruby-mode-hook 'ac-ruby-mode-setup)
(add-hook 'css-mode-hook 'ac-css-mode-setup)
(add-hook 'auto-complete-mode-hook 'ac-common-setup)
(global-auto-complete-mode t))
(provide 'auto-complete-config)
;;; auto-complete-config.el ends here

Binary file not shown.

1897
.emacs.d/auto-complete.el Normal file

File diff suppressed because it is too large Load diff

BIN
.emacs.d/auto-complete.elc Normal file

Binary file not shown.

156
.emacs.d/batch-mode.el Normal file
View file

@ -0,0 +1,156 @@
;;; batch-mode.el --- major mode for editing ESRI batch scrips
;;; Copyright (C) 2002, Agnar Renolen <agnar.renolen@emap.no>
;;; Modified (c) 2009, Matthew Fidler <matthew.fidler at gmail.com>
;;; Fixed indents (and labels)
;; batch-mode.el 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 of the License, 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 program; if not, write to the Free Software
;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
;; This is version 1.0 of 21 August 2002.
;;; Comentary:
;; The batch-mode provides syntax hilighting and auto-indentation for
;; DOS batch files (.bat). and auto-idendation.
;; Agnar Renolen, <agnar.renolen@emap.no>
;;; Code:
(defgroup batch nil
"Major mode for editing batch code"
:prefix "batch-"
:group 'languages)
; (defvar batch-mode-hook nil
; "Hooks called when batch mode fires up."
; :type 'hook
; :group 'batch)
(defvar batch-mode-map nil
"Keymap used with batch code")
(defcustom batch-indent-level 4
"Amount by which batch subexpressions are indented."
:type 'integer
:group 'batch)
(defvar batch-font-lock-keywords
(eval-when-compile
(list
; since we can't specify batch comments through the syntax table,
; we have to specify it here, and override whatever is highlighted
'( "^[ \t]*rem\\>.*" (0 font-lock-comment-face t))
; since the argument to the echo command is a string, we format it
; as a string
'( "\\<echo\\>[ \t]*\\(.*\\)" (1 font-lock-string-face t))
; the argument of the goto statement is a label
'( "\\<goto\\>[ \t]*\\([a-zA-Z0-9_]+\\)" (1
font-lock-constant-face))
; the keywords of batch (which are not built-in commands)
(concat "\\<\\(cmdextversion\\|"
"d\\(efined\\|isableextensions\\|o\\)\\|"
"e\\(lse\\|n\\(ableextensions\\|dlocal\\)"
"\\|qu\\|rrorlevel\\|xist\\)\\|for\\|"
"goto\\|i[fn]\\|n\\(eq\\|ot\\)\\|setlocal\\)\\>")
; built-in DOS commands
(cons (concat "\\<\\(a\\(ssoc\\|t\\(\\|trib\\)\\)\\|break\\|"
"c\\(a\\(cls\\|ll\\)\\|d\\|h\\(cp\\|dir\\|k\\("
"dsk\\|ntfs\\)\\)\\|ls\\|md\\|o\\(lor\\|mp\\(\\|act\\)"
"\\|nvert\\|py\\)\\)\\|d\\(ate\\|el\\|i\\("
"r\\|skco\\(mp\\|py\\)\\)\\|oskey\\)\\|"
"e\\(cho\\|rase\\|xit\\)\\|"
"f\\(c\\|ind\\(\\|str\\)\\|for\\(\\|mot\\)\\|type\\)\\|"
"graftabl\\|help\\|label\\|"
"m\\(d\\|mkdir\\|o[dvr]e\\)\\|p\\(a\\(th\\|use\\)"
"\\|opd\\|r\\(int\\|opmt\\)\\|ushd\\)\\|"
"r\\(d\\|e\\(cover\\|n\\(\\|ame\\)\\|place\\)\\|mdir\\)\\|"
"s\\(et\\|hift\\|ort\\|tart\\|ubst\\)\\|"
"t\\(i\\(me\\|tle\\)\\|ree\\|ype\\)\\|"
"v\\(er\\(\\|ify\\)\\|ol\\)\\|xcopy\\)\\>")
'font-lock-builtin-face)
; variables are embeded in percent chars
'( "%[a-zA-Z0-9_]+%?" . font-lock-variable-name-face)
; labels are formatted as constants
'( ":[a-zA-Z0-9_]+" . font-lock-constant-face)
; command line switches are hilighted as type-face
'( "[-/][a-zA-Z0-9_]+" . font-lock-type-face)
; variables set should also be hilighted with variable-name-face
'( "\\<set\\>[ \t]*\\([a-zA-Z0-9_]+\\)" (1 font-lock-variable-name-face))
)))
;;;###autoload
(defun batch-mode ()
"Major mode for editing batch scripts."
(interactive)
(kill-all-local-variables)
(setq major-mode 'batch-mode)
(setq mode-name "Avenue")
(set (make-local-variable 'indent-line-function) 'batch-indent-line)
(set (make-local-variable 'comment-start) "rem")
(set (make-local-variable 'comment-start-skip) "rem[ \t]*")
(set (make-local-variable 'font-lock-defaults)
'(batch-font-lock-keywords nil t nil))
(run-hooks 'batch-mode-hook))
(defun batch-indent-line ()
"Indent current line as batch script"
(let ((indent (batch-calculate-indent))
beg shift-amt
(old-pos (- (point-max) (point))))
(beginning-of-line)
(setq beg (point))
(skip-chars-forward " \t")
(if (looking-at ")")
(setq indent (max (- indent batch-indent-level))))
(message "prev indent: %d" indent)
(setq shift-amt (- indent (current-column)))
(if (not (zerop shift-amt))
(progn
(delete-region beg (point))
; ArcView replaces tabs with single spaces, so we only insert
; spaces to make indentation correct in ArcView.
(insert-char ? indent)
(if (> (- (point-max) old-pos) (point))
(goto-char (- (point-max) old-pos)))))
shift-amt))
(defun batch-calculate-indent ()
"Return appropriate indentation for the current line as batch code."
(save-excursion
(beginning-of-line)
(current-indentation)
(if (bobp)
0
(if (re-search-backward "^[ \t]*[^ \t\n\r]" nil t)
(if (looking-at "[ \t]*\\()[ \t]*else\\|for\\|if\\)\\>[^(\n]*([^)\n]*")
(+ (current-indentation) batch-indent-level)
(if (looking-at "[ \t]*[^(]*)[ \t]*")
(- (current-indentation) batch-indent-level)
(current-indentation)))
0))))
(add-to-list 'auto-mode-alist '("\\.bat\\'" . batch-mode))
(provide 'batch-mode)
;;; batch-mode.el ends here

1668
.emacs.d/color-theme.el Normal file

File diff suppressed because it is too large Load diff

1977
.emacs.d/csharp-mode.el Normal file

File diff suppressed because it is too large Load diff

255
.emacs.d/fuzzy.el Normal file
View file

@ -0,0 +1,255 @@
;;; fuzzy.el --- Fuzzy matching utilities
;; Copyright (C) 2010 Tomohiro Matsuyama
;; Author: Tomohiro Matsuyama <m2ym.pub@gmail.com>
;; Keywords: convenience
;; 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 3 of the License, 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 program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;;
;;; Code:
(eval-when-compile
(require 'cl))
(require 'regexp-opt)
(defgroup fuzzy nil
"Fuzzy matching utilities."
:group 'convenience
:prefix "fuzzy-")
(defcustom fuzzy-accept-error-rate 0.10
"Error threshold."
:group 'fuzzy)
(defvar fuzzy-accept-length-difference 2)
(defvar fuzzy-regexp-some-char (format "\\w\\{0,%s\\}" fuzzy-accept-length-difference))
;;; Functions
(defun fuzzy-reverse-string (string)
(apply 'string (nreverse (append string nil))))
(defun fuzzy-regexp-compile (string)
(labels ((oddp (n) (eq (logand n 1) 1))
(evenp (n) (eq (logand n 1) 0))
(opt (n) (regexp-opt-charset (append (substring string
(max 0 (- n 1))
(min (length string) (+ n 2))) nil))))
(concat
"\\("
(loop for i below (length string)
for c = (if (evenp i) (opt i) fuzzy-regexp-some-char)
concat c)
"\\|"
(loop for i below (length string)
for c = (if (oddp i) (opt i) fuzzy-regexp-some-char)
concat c)
"\\)")))
(defalias 'fuzzy-edit-distance 'fuzzy-jaro-winkler-distance)
(defun fuzzy-jaro-winkler-distance (s1 s2)
"http://en.wikipedia.org/wiki/Jaro-Winkler_distance"
(let* ((l1 (length s1))
(l2 (length s2))
(r (max 1 (1- (/ (max l1 l2) 2))))
(m 0)
(tr 0)
(p 0)
cs1 cs2)
(loop with seen = (make-vector l2 nil)
for i below l1
for c1 = (aref s1 i) do
(loop for j from (max 0 (- i r)) below (min l2 (+ i r))
for c2 = (aref s2 j)
if (and (char-equal c1 c2)
(null (aref seen j))) do
(push c1 cs1)
(aset seen j c2)
(incf m)
and return nil)
finally
(setq cs1 (nreverse cs1)
cs2 (loop for i below l2
for c = (aref seen i)
if c collect c)))
(loop for c1 in cs1
for c2 in cs2
if (not (char-equal c1 c2)) do
(incf tr))
(loop for i below (min m 5)
for c1 across s1
for c2 across s2
while (char-equal c1 c2) do
(incf p))
(if (eq m 0)
0.0
(setq m (float m))
(let* ((dj (/ (+ (/ m l1) (/ m l2) (/ (- m (/ tr 2)) m)) 3))
(dw (+ dj (* p 0.1 (- 1 dj)))))
dw))))
;; this function should be compiled
(byte-compile 'fuzzy-jaro-winkler-distance)
(defun fuzzy-match (s1 s2 &optional function)
(or function (setq function 'fuzzy-edit-distance))
(and (<= (abs (- (length s1) (length s2)))
fuzzy-accept-length-difference)
(>= (funcall function s1 s2)
(- 1 fuzzy-accept-error-rate))))
(defun fuzzy-all-completions (string collection)
"all-completions family with fuzzy matching."
(loop with length = (length string)
for str in collection
for s = (substring str 0 (min (length str)
(+ length fuzzy-accept-length-difference)))
if (fuzzy-match string s)
collect str))
;;; Search and Incremental Search
(defvar fuzzy-search-cache nil)
(defvar fuzzy-search-cache-string nil)
(defun fuzzy-search-cache-activate ()
(setq fuzzy-search-cache (make-hash-table))
(setq fuzzy-search-cache-string nil))
(defun fuzzy-search-cache-deactive ()
(setq fuzzy-search-cache nil)
(setq fuzzy-search-cache-string nil))
(defun fuzzy-search-edit-distance (s1 s2)
(or (and fuzzy-search-cache
(cond
((null fuzzy-search-cache-string)
(setq fuzzy-search-cache-string s1)
nil)
((not (equal fuzzy-search-cache-string s1))
(setq fuzzy-search-cache-string s1)
(clrhash fuzzy-search-cache)
nil)
(t))
(gethash s2 fuzzy-search-cache))
(let ((d (fuzzy-edit-distance s1 s2)))
(if fuzzy-search-cache
(puthash s2 d fuzzy-search-cache))
d)))
(defun fuzzy-search-match (s1 s2)
(fuzzy-match s1 s2 'fuzzy-search-edit-distance))
(defun fuzzy-search-forward (string &optional bound noerror count)
(let* ((regexp (fuzzy-regexp-compile string))
match-data)
(save-excursion
(while (and (null match-data)
(re-search-forward regexp bound t))
(if (fuzzy-search-match string (match-string 1))
(setq match-data (match-data))
(goto-char (1+ (match-beginning 1))))))
(when match-data
(store-match-data match-data)
(goto-char (match-end 1)))))
(defun fuzzy-search-backward (string &optional bound noerror count)
(let* ((regexp (fuzzy-regexp-compile string))
match-data begin end)
(save-excursion
(while (and (null match-data)
(re-search-backward regexp bound t))
(setq begin (match-beginning 1)
end (match-end 1))
(store-match-data nil)
(goto-char (max (point-min) (- begin (* (length string) 2))))
(while (re-search-forward regexp end t)
(if (fuzzy-search-match string (match-string 1))
(setq match-data (match-data))
(goto-char (1+ (match-beginning 1)))))
(unless match-data
(goto-char begin)))
(if match-data
(progn
(store-match-data match-data)
(goto-char (match-beginning 1)))
(store-match-data nil)))))
(defvar fuzzy-isearch nil)
(defvar fuzzy-isearch-failed-count 0)
(defvar fuzzy-isearch-enabled 'on-failed)
(defvar fuzzy-isearch-original-search-fun nil)
(defvar fuzzy-isearch-prefix "[FUZZY] ")
(defun fuzzy-isearch-activate ()
(setq fuzzy-isearch t)
(setq fuzzy-isearch-failed-count 0)
(fuzzy-search-cache-activate))
(defun fuzzy-isearch-deactivate ()
(setq fuzzy-isearch nil)
(setq fuzzy-isearch-failed-count 0)
(fuzzy-search-cache-deactive))
(defun fuzzy-isearch ()
(cond (isearch-word
(if isearch-forward 'word-search-forward 'word-search-backward))
(isearch-regexp
(if isearch-forward 're-search-forward 're-search-backward))
((or fuzzy-isearch
(eq fuzzy-isearch-enabled 'always)
(and (eq fuzzy-isearch-enabled 'on-failed)
(null isearch-success)
isearch-wrapped
(> (setq fuzzy-isearch-failed-count (1+ fuzzy-isearch-failed-count))
1)))
(unless fuzzy-isearch
;(goto-char isearch-opoint)
(fuzzy-isearch-activate))
(if isearch-forward 'fuzzy-search-forward 'fuzzy-search-backward))
(t
(if isearch-forward 'search-forward 'search-backward))))
(defun fuzzy-isearch-end-hook ()
(fuzzy-isearch-deactivate))
(defun turn-on-fuzzy-isearch ()
(interactive)
(setq fuzzy-isearch-original-search-fun isearch-search-fun-function)
(setq isearch-search-fun-function 'fuzzy-isearch)
(add-hook 'isearch-mode-end-hook 'fuzzy-isearch-end-hook))
(defun turn-off-fuzzy-isearch ()
(interactive)
(setq isearch-search-fun-function fuzzy-isearch-original-search-fun)
(remove-hook 'isearch-mode-end-hook 'fuzzy-isearch-end-hook))
(defadvice isearch-message-prefix (after fuzzy-isearch-message-prefix activate)
(if fuzzy-isearch
(setq ad-return-value (concat fuzzy-isearch-prefix ad-return-value))
ad-return-value))
(provide 'fuzzy)
;;; fuzzy.el ends here

BIN
.emacs.d/fuzzy.elc Normal file

Binary file not shown.

16
.emacs.d/include.el Normal file
View file

@ -0,0 +1,16 @@
(load-file "~/.emacs.d/slash_theme.el")
(load-file "~/.emacs.d/slash_python.el")
(load-file "~/.emacs.d/slash_functions.el")
(autoload 'vala-mode
"~/.emacs.d/vala-mode.el" "A Major mode for editing Vala files" t)
(autoload 'csharp-mode
"~/.emacs.d/csharp-mode.el" "A Major mode for editing C# files" t)
(autoload 'javascript-mode
"~/.emacs.d/javascript.el" "A Major mode for editing JavaScript" t)
(autoload 'sqlplus
"~/.emacs.d/sqlplus.el" "A Major mode for communicating with Oracle" t)
(autoload 'batch-mode
"~/.emacs.d/batch-mode.el" "A Major mode for editing Batch files" t)
(load-file "~/.emacs.d/auto-complete-config.el")
(require 'auto-complete-config)

707
.emacs.d/javascript.el Normal file
View file

@ -0,0 +1,707 @@
;;; javascript.el --- Major mode for editing JavaScript source text
;; Copyright (C) 2006 Karl Landström
;; Author: Karl Landström <kland@comhem.se>
;; Maintainer: Karl Landström <kland@comhem.se>
;; Version: 2.0 Beta 8
;; Date: 2006-12-26
;; Keywords: languages, oop
;; This file 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 file 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 GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.
;;; Commentary:
;;
;; The main features of this JavaScript mode are syntactic
;; highlighting (enabled with `font-lock-mode' or
;; `global-font-lock-mode'), automatic indentation and filling of
;; comments.
;;
;; This package has (only) been tested with GNU Emacs 21.4 (the latest
;; stable release).
;;
;; Installation:
;;
;; Put this file in a directory where Emacs can find it (`C-h v
;; load-path' for more info). Then add the following lines to your
;; Emacs initialization file:
;;
;; (add-to-list 'auto-mode-alist '("\\.js\\'" . javascript-mode))
;; (autoload 'javascript-mode "javascript" nil t)
;;
;; General Remarks:
;;
;; This mode assumes that block comments are not nested inside block
;; comments and that strings do not contain line breaks.
;;
;; Exported names start with "javascript-" whereas private names start
;; with "js-".
;;
;; Changes:
;;
;; See javascript.el.changelog.
;;; Code:
(require 'cc-mode)
(require 'font-lock)
(require 'newcomment)
(defgroup javascript nil
"Customization variables for `javascript-mode'."
:tag "JavaScript"
:group 'languages)
(defcustom javascript-indent-level 4
"Number of spaces for each indentation step."
:type 'integer
:group 'javascript)
(defcustom javascript-auto-indent-flag t
"Automatic indentation with punctuation characters. If non-nil, the
current line is indented when certain punctuations are inserted."
:type 'boolean
:group 'javascript)
;; --- Keymap ---
(defvar javascript-mode-map nil
"Keymap used in JavaScript mode.")
(unless javascript-mode-map
(setq javascript-mode-map (make-sparse-keymap)))
(when javascript-auto-indent-flag
(mapc (lambda (key)
(define-key javascript-mode-map key 'javascript-insert-and-indent))
'("{" "}" "(" ")" ":" ";" ",")))
(defun javascript-insert-and-indent (key)
"Run command bound to key and indent current line. Runs the command
bound to KEY in the global keymap and indents the current line."
(interactive (list (this-command-keys)))
(call-interactively (lookup-key (current-global-map) key))
(indent-according-to-mode))
;; --- Syntax Table And Parsing ---
(defvar javascript-mode-syntax-table
(let ((table (make-syntax-table)))
(c-populate-syntax-table table)
;; The syntax class of underscore should really be `symbol' ("_")
;; but that makes matching of tokens much more complex as e.g.
;; "\\<xyz\\>" matches part of e.g. "_xyz" and "xyz_abc". Defines
;; it as word constituent for now.
(modify-syntax-entry ?_ "w" table)
table)
"Syntax table used in JavaScript mode.")
(defun js-re-search-forward-inner (regexp &optional bound count)
"Auxiliary function for `js-re-search-forward'."
(let ((parse)
(saved-point (point-min)))
(while (> count 0)
(re-search-forward regexp bound)
(setq parse (parse-partial-sexp saved-point (point)))
(cond ((nth 3 parse)
(re-search-forward
(concat "\\([^\\]\\|^\\)" (string (nth 3 parse)))
(save-excursion (end-of-line) (point)) t))
((nth 7 parse)
(forward-line))
((or (nth 4 parse)
(and (eq (char-before) ?\/) (eq (char-after) ?\*)))
(re-search-forward "\\*/"))
(t
(setq count (1- count))))
(setq saved-point (point))))
(point))
(defun js-re-search-forward (regexp &optional bound noerror count)
"Search forward but ignore strings and comments. Invokes
`re-search-forward' but treats the buffer as if strings and
comments have been removed."
(let ((saved-point (point))
(search-expr
(cond ((null count)
'(js-re-search-forward-inner regexp bound 1))
((< count 0)
'(js-re-search-backward-inner regexp bound (- count)))
((> count 0)
'(js-re-search-forward-inner regexp bound count)))))
(condition-case err
(eval search-expr)
(search-failed
(goto-char saved-point)
(unless noerror
(error (error-message-string err)))))))
(defun js-re-search-backward-inner (regexp &optional bound count)
"Auxiliary function for `js-re-search-backward'."
(let ((parse)
(saved-point (point-min)))
(while (> count 0)
(re-search-backward regexp bound)
(when (and (> (point) (point-min))
(save-excursion (backward-char) (looking-at "/[/*]")))
(forward-char))
(setq parse (parse-partial-sexp saved-point (point)))
(cond ((nth 3 parse)
(re-search-backward
(concat "\\([^\\]\\|^\\)" (string (nth 3 parse)))
(save-excursion (beginning-of-line) (point)) t))
((nth 7 parse)
(goto-char (nth 8 parse)))
((or (nth 4 parse)
(and (eq (char-before) ?/) (eq (char-after) ?*)))
(re-search-backward "/\\*"))
(t
(setq count (1- count))))))
(point))
(defun js-re-search-backward (regexp &optional bound noerror count)
"Search backward but ignore strings and comments. Invokes
`re-search-backward' but treats the buffer as if strings and
comments have been removed."
(let ((saved-point (point))
(search-expr
(cond ((null count)
'(js-re-search-backward-inner regexp bound 1))
((< count 0)
'(js-re-search-forward-inner regexp bound (- count)))
((> count 0)
'(js-re-search-backward-inner regexp bound count)))))
(condition-case err
(eval search-expr)
(search-failed
(goto-char saved-point)
(unless noerror
(error (error-message-string err)))))))
(defun js-continued-var-decl-list-p ()
"Return non-nil if point is inside a continued variable declaration
list."
(interactive)
(let ((start (save-excursion (js-re-search-backward "\\<var\\>" nil t))))
(and start
(save-excursion (re-search-backward "\n" start t))
(not (save-excursion
(js-re-search-backward
";\\|[^, \t][ \t]*\\(/[/*]\\|$\\)" start t))))))
;; --- Font Lock ---
(defun js-inside-param-list-p ()
"Return non-nil if point is inside a function parameter list."
(condition-case err
(save-excursion
(up-list -1)
(and (looking-at "(")
(progn (backward-word 1)
(or (looking-at "function")
(progn (backward-word 1) (looking-at "function"))))))
(error nil)))
(defconst js-function-heading-1-re
"^[ \t]*function[ \t]+\\(\\w+\\)"
"Regular expression matching the start of a function header.")
(defconst js-function-heading-2-re
"^[ \t]*\\(\\w+\\)[ \t]*:[ \t]*function\\>"
"Regular expression matching the start of a function entry in
an associative array.")
(defconst js-keyword-re
(regexp-opt '("abstract" "break" "case" "catch" "class" "const"
"continue" "debugger" "default" "delete" "do" "else"
"enum" "export" "extends" "final" "finally" "for"
"function" "goto" "if" "implements" "import" "in"
"instanceof" "interface" "native" "new" "package"
"private" "protected" "public" "return" "static"
"super" "switch" "synchronized" "this" "throw"
"throws" "transient" "try" "typeof" "var" "void"
"volatile" "while" "with"
"let") 'words)
"Regular expression matching any JavaScript keyword.")
(defconst js-basic-type-re
(regexp-opt '("boolean" "byte" "char" "double" "float" "int" "long"
"short" "void") 'words)
"Regular expression matching any predefined type in JavaScript.")
(defconst js-constant-re
(regexp-opt '("false" "null" "true") 'words)
"Regular expression matching any future reserved words in JavaScript.")
(defconst js-font-lock-keywords-1
(list
"\\<import\\>"
(list js-function-heading-1-re 1 font-lock-function-name-face)
(list js-function-heading-2-re 1 font-lock-function-name-face)
(list "[=(][ \t]*\\(/.*?[^\\]/\\w*\\)" 1 font-lock-string-face))
"Level one font lock.")
(defconst js-font-lock-keywords-2
(append js-font-lock-keywords-1
(list (list js-keyword-re 1 font-lock-keyword-face)
(cons js-basic-type-re font-lock-type-face)
(cons js-constant-re font-lock-constant-face)))
"Level two font lock.")
;; Limitations with variable declarations: There seems to be no
;; sensible way to highlight variables occuring after an initialized
;; variable in a variable list. For instance, in
;;
;; var x, y = f(a, b), z
;;
;; z will not be highlighted.
(defconst js-font-lock-keywords-3
(append
js-font-lock-keywords-2
(list
;; variable declarations
(list
(concat "\\<\\(const\\|var\\)\\>\\|" js-basic-type-re)
(list "\\(\\w+\\)[ \t]*\\([=;].*\\|,\\|/[/*]\\|$\\)"
nil
nil
'(1 font-lock-variable-name-face)))
;; continued variable declaration list
(list
(concat "^[ \t]*\\w+[ \t]*\\([,;=]\\|/[/*]\\|$\\)")
(list "\\(\\w+\\)[ \t]*\\([=;].*\\|,\\|/[/*]\\|$\\)"
'(if (save-excursion (backward-char) (js-continued-var-decl-list-p))
(backward-word 1)
(end-of-line))
'(end-of-line)
'(1 font-lock-variable-name-face)))
;; formal parameters
(list
(concat "\\<function\\>\\([ \t]+\\w+\\)?[ \t]*([ \t]*\\w")
(list "\\(\\w+\\)\\([ \t]*).*\\)?"
'(backward-char)
'(end-of-line)
'(1 font-lock-variable-name-face)))
;; continued formal parameter list
(list
(concat "^[ \t]*\\w+[ \t]*[,)]")
(list "\\w+"
'(if (save-excursion (backward-char) (js-inside-param-list-p))
(backward-word 1)
(end-of-line))
'(end-of-line)
'(0 font-lock-variable-name-face)))))
"Level three font lock.")
(defconst js-font-lock-keywords
'(js-font-lock-keywords-3 js-font-lock-keywords-1 js-font-lock-keywords-2
js-font-lock-keywords-3)
"See `font-lock-keywords'.")
;; --- Indentation ---
(defconst js-possibly-braceless-keyword-re
(regexp-opt
'("catch" "do" "else" "finally" "for" "if" "try" "while" "with" "let")
'words)
"Regular expression matching keywords that are optionally
followed by an opening brace.")
(defconst js-indent-operator-re
(concat "[-+*/%<>=&^|?:.]\\([^-+*/]\\|$\\)\\|"
(regexp-opt '("in" "instanceof") 'words))
"Regular expression matching operators that affect indentation
of continued expressions.")
(defun js-looking-at-operator-p ()
"Return non-nil if text after point is an operator (that is not
a comma)."
(save-match-data
(and (looking-at js-indent-operator-re)
(or (not (looking-at ":"))
(save-excursion
(and (js-re-search-backward "[?:{]\\|\\<case\\>" nil t)
(looking-at "?")))))))
(defun js-continued-expression-p ()
"Returns non-nil if the current line continues an expression."
(save-excursion
(back-to-indentation)
(or (js-looking-at-operator-p)
(and (js-re-search-backward "\n" nil t)
(progn
(skip-chars-backward " \t")
(backward-char)
(and (> (point) (point-min))
(save-excursion (backward-char) (not (looking-at "[/*]/")))
(js-looking-at-operator-p)
(and (progn (backward-char)
(not (looking-at "++\\|--\\|/[/*]"))))))))))
(defun js-end-of-do-while-loop-p ()
"Returns non-nil if word after point is `while' of a do-while
statement, else returns nil. A braceless do-while statement
spanning several lines requires that the start of the loop is
indented to the same column as the current line."
(interactive)
(save-excursion
(save-match-data
(when (looking-at "\\s-*\\<while\\>")
(if (save-excursion
(skip-chars-backward "[ \t\n]*}")
(looking-at "[ \t\n]*}"))
(save-excursion
(backward-list) (backward-word 1) (looking-at "\\<do\\>"))
(js-re-search-backward "\\<do\\>" (point-at-bol) t)
(or (looking-at "\\<do\\>")
(let ((saved-indent (current-indentation)))
(while (and (js-re-search-backward "^[ \t]*\\<" nil t)
(/= (current-indentation) saved-indent)))
(and (looking-at "[ \t]*\\<do\\>")
(not (js-re-search-forward
"\\<while\\>" (point-at-eol) t))
(= (current-indentation) saved-indent)))))))))
(defun js-ctrl-statement-indentation ()
"Returns the proper indentation of the current line if it
starts the body of a control statement without braces, else
returns nil."
(save-excursion
(back-to-indentation)
(when (save-excursion
(and (not (looking-at "[{]"))
(progn
(js-re-search-backward "[[:graph:]]" nil t)
(forward-char)
(when (= (char-before) ?\)) (backward-list))
(skip-syntax-backward " ")
(skip-syntax-backward "w")
(looking-at js-possibly-braceless-keyword-re))
(not (js-end-of-do-while-loop-p))))
(save-excursion
(goto-char (match-beginning 0))
(+ (current-indentation) javascript-indent-level)))))
(defun js-proper-indentation (parse-status)
"Return the proper indentation for the current line."
(save-excursion
(back-to-indentation)
(let ((ctrl-stmt-indent (js-ctrl-statement-indentation))
(same-indent-p (looking-at "[]})]\\|\\<case\\>\\|\\<default\\>"))
(continued-expr-p (js-continued-expression-p)))
(cond (ctrl-stmt-indent)
((js-continued-var-decl-list-p)
(js-re-search-backward "\\<var\\>" nil t)
(+ (current-indentation) javascript-indent-level))
((nth 1 parse-status)
(goto-char (nth 1 parse-status))
(if (looking-at "[({[][ \t]*\\(/[/*]\\|$\\)")
(progn
(skip-syntax-backward " ")
(when (= (char-before) ?\)) (backward-list))
(back-to-indentation)
(cond (same-indent-p
(current-column))
(continued-expr-p
(+ (current-column) (* 2 javascript-indent-level)))
(t
(+ (current-column) javascript-indent-level))))
(unless same-indent-p
(forward-char)
(skip-chars-forward " \t"))
(current-column)))
(continued-expr-p javascript-indent-level)
(t 0)))))
(defun javascript-indent-line ()
"Indent the current line as JavaScript source text."
(interactive)
(let ((parse-status
(save-excursion (parse-partial-sexp (point-min) (point-at-bol))))
(offset (- (current-column) (current-indentation))))
(when (not (nth 8 parse-status))
(indent-line-to (js-proper-indentation parse-status))
(when (> offset 0) (forward-char offset)))))
;; --- Filling ---
;; FIXME: It should be possible to use the more sofisticated function
;; `c-fill-paragraph' in `cc-cmds.el' instead. However, just setting
;; `fill-paragraph-function' to `c-fill-paragraph' does not work;
;; inside `c-fill-paragraph', `fill-paragraph-function' evaluates to
;; nil!?
(defun js-backward-paragraph ()
"Move backward to start of paragraph. Postcondition: Point is at
beginning of buffer or the previous line contains only whitespace."
(forward-line -1)
(while (not (or (bobp) (looking-at "^[ \t]*$")))
(forward-line -1))
(when (not (bobp)) (forward-line 1)))
(defun js-forward-paragraph ()
"Move forward to end of paragraph. Postcondition: Point is at
end of buffer or the next line contains only whitespace."
(forward-line 1)
(while (not (or (eobp) (looking-at "^[ \t]*$")))
(forward-line 1))
(when (not (eobp)) (backward-char 1)))
(defun js-fill-block-comment-paragraph (parse-status justify)
"Fill current paragraph as a block comment. PARSE-STATUS is the
result of `parse-partial-regexp' from beginning of buffer to
point. JUSTIFY has the same meaning as in `fill-paragraph'."
(let ((offset (save-excursion
(goto-char (nth 8 parse-status)) (current-indentation))))
(save-excursion
(save-restriction
(narrow-to-region (save-excursion
(goto-char (nth 8 parse-status)) (point-at-bol))
(save-excursion
(goto-char (nth 8 parse-status))
(re-search-forward "*/")))
(narrow-to-region (save-excursion
(js-backward-paragraph)
(when (looking-at "^[ \t]*$") (forward-line 1))
(point))
(save-excursion
(js-forward-paragraph)
(when (looking-at "^[ \t]*$") (backward-char))
(point)))
(goto-char (point-min))
(while (not (eobp))
(delete-horizontal-space)
(forward-line 1))
(let ((fill-column (- fill-column offset))
(fill-paragraph-function nil))
(fill-paragraph justify))
;; In Emacs 21.4 as opposed to CVS Emacs 22,
;; `fill-paragraph' seems toadd a newline at the end of the
;; paragraph. Remove it!
(goto-char (point-max))
(when (looking-at "^$") (backward-delete-char 1))
(goto-char (point-min))
(while (not (eobp))
(indent-to offset)
(forward-line 1))))))
(defun js-sline-comment-par-start ()
"Return point at the beginning of the line where the current
single-line comment paragraph starts."
(save-excursion
(beginning-of-line)
(while (and (not (bobp))
(looking-at "^[ \t]*//[ \t]*[[:graph:]]"))
(forward-line -1))
(unless (bobp) (forward-line 1))
(point)))
(defun js-sline-comment-par-end ()
"Return point at end of current single-line comment paragraph."
(save-excursion
(beginning-of-line)
(while (and (not (eobp))
(looking-at "^[ \t]*//[ \t]*[[:graph:]]"))
(forward-line 1))
(unless (bobp) (backward-char))
(point)))
(defun js-sline-comment-offset (line)
"Return the column at the start of the current single-line
comment paragraph."
(save-excursion
(goto-line line)
(re-search-forward "//" (point-at-eol))
(goto-char (match-beginning 0))
(current-column)))
(defun js-sline-comment-text-offset (line)
"Return the column at the start of the text of the current
single-line comment paragraph."
(save-excursion
(goto-line line)
(re-search-forward "//[ \t]*" (point-at-eol))
(current-column)))
(defun js-at-empty-sline-comment-p ()
"Return non-nil if inside an empty single-line comment."
(and (save-excursion
(beginning-of-line)
(not (looking-at "^.*//.*[[:graph:]]")))
(save-excursion
(re-search-backward "//" (point-at-bol) t))))
(defun js-fill-sline-comments (parse-status justify)
"Fill current paragraph as a sequence of single-line comments.
PARSE-STATUS is the result of `parse-partial-regexp' from
beginning of buffer to point. JUSTIFY has the same meaning as in
`fill-paragraph'."
(when (not (js-at-empty-sline-comment-p))
(let* ((start (js-sline-comment-par-start))
(start-line (1+ (count-lines (point-min) start)))
(end (js-sline-comment-par-end))
(offset (js-sline-comment-offset start-line))
(text-offset (js-sline-comment-text-offset start-line)))
(save-excursion
(save-restriction
(narrow-to-region start end)
(goto-char (point-min))
(while (re-search-forward "^[ \t]*//[ \t]*" nil t)
(replace-match "")
(forward-line 1))
(let ((fill-paragraph-function nil)
(fill-column (- fill-column text-offset)))
(fill-paragraph justify))
;; In Emacs 21.4 as opposed to CVS Emacs 22,
;; `fill-paragraph' seems toadd a newline at the end of the
;; paragraph. Remove it!
(goto-char (point-max))
(when (looking-at "^$") (backward-delete-char 1))
(goto-char (point-min))
(while (not (eobp))
(indent-to offset)
(insert "//")
(indent-to text-offset)
(forward-line 1)))))))
(defun js-trailing-comment-p (parse-status)
"Return non-nil if inside a trailing comment. PARSE-STATUS is
the result of `parse-partial-regexp' from beginning of buffer to
point."
(save-excursion
(when (nth 4 parse-status)
(goto-char (nth 8 parse-status))
(skip-chars-backward " \t")
(not (bolp)))))
(defun js-block-comment-p (parse-status)
"Return non-nil if inside a block comment. PARSE-STATUS is the
result of `parse-partial-regexp' from beginning of buffer to
point."
(save-excursion
(save-match-data
(when (nth 4 parse-status)
(goto-char (nth 8 parse-status))
(looking-at "/\\*")))))
(defun javascript-fill-paragraph (&optional justify)
"If inside a comment, fill the current comment paragraph.
Trailing comments are ignored."
(interactive)
(let ((parse-status (parse-partial-sexp (point-min) (point))))
(when (and (nth 4 parse-status)
(not (js-trailing-comment-p parse-status)))
(if (js-block-comment-p parse-status)
(js-fill-block-comment-paragraph parse-status justify)
(js-fill-sline-comments parse-status justify))))
t)
;; --- Imenu ---
(defconst js-imenu-generic-expression
(list
(list
nil
"function\\s-+\\(\\w+\\)\\s-*("
1))
"Regular expression matching top level procedures. Used by imenu.")
;; --- Main Function ---
;;;###autoload
(defun javascript-mode ()
"Major mode for editing JavaScript source text.
Key bindings:
\\{javascript-mode-map}"
(interactive)
(kill-all-local-variables)
(use-local-map javascript-mode-map)
(set-syntax-table javascript-mode-syntax-table)
(set (make-local-variable 'indent-line-function) 'javascript-indent-line)
(set (make-local-variable 'font-lock-defaults) (list js-font-lock-keywords))
(set (make-local-variable 'parse-sexp-ignore-comments) t)
;; Comments
(setq comment-start "// ")
(setq comment-end "")
(set (make-local-variable 'fill-paragraph-function)
'javascript-fill-paragraph)
;; Make c-mark-function work
(setq c-nonsymbol-token-regexp "!=\\|%=\\|&[&=]\\|\\*[/=]\\|\\+[+=]\\|-[=-]\\|/[*/=]\\|<\\(?:<=\\|[<=]\\)\\|==\\|>\\(?:>\\(?:>=\\|[=>]\\)\\|[=>]\\)\\|\\^=\\||[=|]\\|[]!%&(-,./:-?[{-~^-]"
c-stmt-delim-chars "^;{}?:"
c-syntactic-ws-end "[ \n \f/]"
c-syntactic-eol "\\(\\s \\|/\\*\\([^*\n ]\\|\\*[^/\n ]\\)*\\*/\\)*\\(\\(/\\*\\([^*\n ]\\|\\*[^/\n ]\\)*\\|\\\\\\)?$\\|//\\)")
;; Imenu
(setq imenu-case-fold-search nil)
(set (make-local-variable 'imenu-generic-expression)
js-imenu-generic-expression)
(setq major-mode 'javascript-mode)
(setq mode-name "JavaScript")
(run-hooks 'javascript-mode-hook))
(provide 'javascript-mode)
;;; javascript.el ends here

1
.emacs.d/linux/.emacs Normal file
View file

@ -0,0 +1 @@
(set-default-font "-xos4-terminus-medium-*-*-*-14-*-*-*-*-*-*-*")

1061
.emacs.d/popup.el Normal file

File diff suppressed because it is too large Load diff

BIN
.emacs.d/popup.elc Normal file

Binary file not shown.

15
.emacs.d/slash_c.el Normal file
View file

@ -0,0 +1,15 @@
(if (not (intern-soft "cc-mode"))
(require 'cc-mode))
(global-set-key [(f9)] 'compile) ; make F9 call the compilation command
(setq compilation-window-height 8) ; make the compilation window smaller
;; Make compilation window disappear on succesful build
(setq compilation-finish-function
(lambda (buf str)
(if (string-match "exited abnormally" str)
;; there were errors
(message "compilation errors, press C-x ` to visit")
;; no errors, make the compilation window go away in 0.5 seconds
(run-at-time 0.5 nil 'delete-windows-on buf)
(message "NO COMPILATION ERRORS!"))))

View file

@ -0,0 +1,5 @@
(defun what-face (pos)
(interactive "d")
(let ((face (or (get-char-property (point) 'read-face-name)
(get-char-property (point) 'face))))
(if face (message "Face: %s" face) (message "No face at %d" pos))))

17
.emacs.d/slash_python.el Normal file
View file

@ -0,0 +1,17 @@
;; Pyflakes
(when (load "flymake" t)
(defun flymake-pyflakes-init ()
(let* ((temp-file (flymake-init-create-temp-buffer-copy
'flymake-create-temp-inplace))
(local-file (file-relative-name
temp-file
(file-name-directory buffer-file-name))))
(list "pyflakes" (list local-file))))
(add-to-list 'flymake-allowed-file-name-masks
'("\\.py\\'" flymake-pyflakes-init)))
(add-hook 'find-file-hook 'flymake-find-file-hook)
;; Bind RET to py-newline-and-indent
(add-hook 'python-mode-hook '(lambda ()
(define-key python-mode-map "\C-m" 'newline-and-indent)))

35
.emacs.d/slash_theme.el Normal file
View file

@ -0,0 +1,35 @@
(add-to-list 'load-path "~/.emacs.d")
(require 'color-theme)
;; weirdness color-theme
(defun color-theme-weirdness ()
(interactive)
(color-theme-install
'(color-theme-weirdness
((background-color . "#000000")
(background-mode . dark)
(border-color . "#000000")
(cursor-color . "#FFFFFF")
(foreground-color . "#FFFFFF")
(mouse-color . "#000000"))
(org-level-1 ((t (:foreground "#5BFD5B" :weight normal))))
(org-level-2 ((t (:foreground "#379A37" :weight normal))))
(org-level-3 ((t (:foreground "#757575" :weight normal))))
(org-level-4 ((t (:foreground "#778899" :weight normal))))
(org-level-5 ((t (:foreground "#9898FF" :weight normal))))
(org-level-6 ((t (:foreground "#0000B0" :weight normal))))
(org-level-7 ((t (:foreground "#740091" :weight normal))))
(org-level-8 ((t (:foreground "#B275C1" :weight normal))))
(fringe ((t (:background "#000000"))))
(mode-line ((t (:foreground "#B3B3B3" :background "#43527A"))))
(region ((t (:background "#3D3D3D"))))
(minibuffer-prompt ((t (:foreground "#72F3FF" :bold t))))
(font-lock-builtin-face ((t (:foreground "#C436C4"))))
(font-lock-comment-face ((t (:foreground "#427240" :bold t))))
(font-lock-function-name-face ((t (:foreground "#0FFF28"))))
(font-lock-keyword-face ((t (:foreground "#6B84FF"))))
(font-lock-string-face ((t (:foreground "#E00900"))))
(font-lock-type-face ((t (:foreground "#8522DD"))))
(font-lock-variable-name-face ((t (:foreground "#18EFF2"))))
(font-lock-warning-face ((t (:foreground "#FF0000" :bold t)))))))
(provide 'color-theme-weirdness)

5151
.emacs.d/sqlplus.el Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,22 @@
(eval-when-compile
(require 'color-theme))
(defun color-theme-example ()
"Example theme. Carbon copy of color-theme-gnome contributed by Jonadab."
(interactive)
(color-theme-install
'(color-theme-example
((foreground-color . "wheat")
(background-color . "darkslategrey")
(background-mode . dark))
(default ((t (nil))))
(region ((t (:foreground "cyan" :background "dark cyan"))))
(underline ((t (:foreground "yellow" :underline t))))
(modeline ((t (:foreground "dark cyan" :background "wheat"))))
(modeline-buffer-id ((t (:foreground "dark cyan" :background "wheat"))))
(modeline-mousable ((t (:foreground "dark cyan" :background "wheat"))))
(modeline-mousable-minor-mode ((t (:foreground "dark cyan" :background "wheat"))))
(italic ((t (:foreground "dark red" :italic t))))
(bold-italic ((t (:foreground "dark red" :bold t :italic t))))
(font-lock-comment-face ((t (:foreground "Firebrick"))))
(bold ((t (:bold)))))))

File diff suppressed because it is too large Load diff

20
.emacs.d/tramp Normal file
View file

@ -0,0 +1,20 @@
;; -*- emacs-lisp -*-
;; Tramp connection history. Don't change this file.
;; You can delete it, forcing Tramp to reapply the checks.
((["scp" "slash" "192.168.1.90" nil]
("uname" "Linux 2.6.33.5-112.fc13.i686")
("test" "test")
("remote-path"
("/bin" "/usr/bin" "/usr/sbin" "/usr/local/bin"))
("remote-shell" "/bin/sh")
("~" "/home/slash")
("file-exists" "test -e")
("stat" "\\stat")
("id" "/usr/bin/id")
("gid-integer" 500)
("local-encoding" base64-encode-region)
("local-decoding" base64-decode-region)
("remote-encoding" "base64")
("remote-decoding" "base64 -d")
("perl" "\\perl")))

395
.emacs.d/vala-mode.el Normal file
View file

@ -0,0 +1,395 @@
;;; vala-mode.el --- Vala mode derived mode
;; Author: 2005 Dylan R. E. Moonfire
;; 2008 Étienne BERSAC
;; Maintainer: Étienne BERSAC <bersace03@laposte.net>
;; Created: 2008 May the 4th
;; Modified: May 2008
;; Version: 0.1
;; Keywords: vala languages oop
;; 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 of the License, 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 program; see the file COPYING. If not, write to
;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.
;;; Commentary:
;;
;; See http://live.gnome.org/Vala for details about Vala language.
;;
;; This is a separate mode to implement the Vala constructs and
;; font-locking. It is mostly the csharp-mode from
;; http://mfgames.com/linux/csharp-mode with vala specific keywords
;; and filename suffixes.
;;
;; Note: The interface used in this file requires CC Mode 5.30 or
;; later.
;;; .emacs (don't put in (require 'vala-mode))
;; (autoload 'vala-mode "vala-mode" "Major mode for editing Vala code." t)
;; (setq auto-mode-alist
;; (append '(("\\.vala$" . vala-mode)) auto-mode-alist))
;;; Versions:
;;
;; 0.1 : Initial version based on csharp-mode
;;
;; This is a copy of the function in cc-mode which is used to handle
;; the eval-when-compile which is needed during other times.
(defun c-filter-ops (ops opgroup-filter op-filter &optional xlate)
;; See cc-langs.el, a direct copy.
(unless (listp (car-safe ops))
(setq ops (list ops)))
(cond ((eq opgroup-filter t)
(setq opgroup-filter (lambda (opgroup) t)))
((not (functionp opgroup-filter))
(setq opgroup-filter `(lambda (opgroup)
(memq opgroup ',opgroup-filter)))))
(cond ((eq op-filter t)
(setq op-filter (lambda (op) t)))
((stringp op-filter)
(setq op-filter `(lambda (op)
(string-match ,op-filter op)))))
(unless xlate
(setq xlate 'identity))
(c-with-syntax-table (c-lang-const c-mode-syntax-table)
(delete-duplicates
(mapcan (lambda (opgroup)
(when (if (symbolp (car opgroup))
(when (funcall opgroup-filter (car opgroup))
(setq opgroup (cdr opgroup))
t)
t)
(mapcan (lambda (op)
(when (funcall op-filter op)
(let ((res (funcall xlate op)))
(if (listp res) res (list res)))))
opgroup)))
ops)
:test 'equal)))
;; This inserts the bulk of the code.
(require 'cc-mode)
;; These are only required at compile time to get the sources for the
;; language constants. (The cc-fonts require and the font-lock
;; related constants could additionally be put inside an
;; (eval-after-load "font-lock" ...) but then some trickery is
;; necessary to get them compiled.)
(eval-when-compile
(let ((load-path
(if (and (boundp 'byte-compile-dest-file)
(stringp byte-compile-dest-file))
(cons (file-name-directory byte-compile-dest-file) load-path)
load-path)))
(load "cc-mode" nil t)
(load "cc-fonts" nil t)
(load "cc-langs" nil t)))
(eval-and-compile
;; Make our mode known to the language constant system. Use Java
;; mode as the fallback for the constants we don't change here.
;; This needs to be done also at compile time since the language
;; constants are evaluated then.
(c-add-language 'vala-mode 'java-mode))
;; Java uses a series of regexes to change the font-lock for class
;; references. The problem comes in because Java uses Pascal (leading
;; space in names, SomeClass) for class and package names, but
;; Camel-casing (initial lowercase, upper case in words,
;; i.e. someVariable) for variables.
;;(error (byte-compile-dest-file))
;;(error (c-get-current-file))
(c-lang-defconst c-opt-after-id-concat-key
vala (if (c-lang-const c-opt-identifier-concat-key)
(c-lang-const c-symbol-start)))
(c-lang-defconst c-basic-matchers-before
vala `(
;;;; Font-lock the attributes by searching for the
;;;; appropriate regex and marking it as TODO.
;;,`(,(concat "\\(" vala-attribute-regex "\\)")
;; 0 font-lock-function-name-face)
;; Put a warning face on the opener of unclosed strings that
;; can't span lines. Later font
;; lock packages have a `font-lock-syntactic-face-function' for
;; this, but it doesn't give the control we want since any
;; fontification done inside the function will be
;; unconditionally overridden.
,(c-make-font-lock-search-function
;; Match a char before the string starter to make
;; `c-skip-comments-and-strings' work correctly.
(concat ".\\(" c-string-limit-regexp "\\)")
'((c-font-lock-invalid-string)))
;; Fontify keyword constants.
,@(when (c-lang-const c-constant-kwds)
(let ((re (c-make-keywords-re nil
(c-lang-const c-constant-kwds))))
`((eval . (list ,(concat "\\<\\(" re "\\)\\>")
1 c-constant-face-name)))))
;; Fontify all keywords except the primitive types.
,`(,(concat "\\<" (c-lang-const c-regular-keywords-regexp))
1 font-lock-keyword-face)
;; Fontify leading identifiers in fully
;; qualified names like "Foo.Bar".
,@(when (c-lang-const c-opt-identifier-concat-key)
`((,(byte-compile
`(lambda (limit)
(while (re-search-forward
,(concat "\\(\\<" ; 1
"\\(" (c-lang-const c-symbol-key)
"\\)" ; 2
"[ \t\n\r\f\v]*"
(c-lang-const
c-opt-identifier-concat-key)
"[ \t\n\r\f\v]*"
"\\)"
"\\("
(c-lang-const
c-opt-after-id-concat-key)
"\\)")
limit t)
(unless (progn
(goto-char (match-beginning 0))
(c-skip-comments-and-strings limit))
(or (get-text-property (match-beginning 2) 'face)
(c-put-font-lock-face (match-beginning 2)
(match-end 2)
c-reference-face-name))
(goto-char (match-end 1)))))))))
))
;; Vala does not allow a leading qualifier operator. It also doesn't
;; allow the ".*" construct of Java. So, we redo this regex without
;; the "\\|\\*" regex.
(c-lang-defconst c-identifier-key
vala (concat "\\(" (c-lang-const c-symbol-key) "\\)" ; 1
(concat "\\("
"[ \t\n\r\f\v]*"
(c-lang-const c-opt-identifier-concat-key)
"[ \t\n\r\f\v]*"
(concat "\\("
"\\(" (c-lang-const c-symbol-key) "\\)"
"\\)")
"\\)*")))
;; Vala has a few rules that are slightly different than Java for
;; operators. This also removed the Java's "super" and replaces it
;; with the Vala's "base".
(c-lang-defconst c-operators
vala `((prefix "base")))
;; Vala directives ?
;; (c-lang-defconst c-opt-cpp-prefix
;; csharp "^\\s *#.*")
;; Vala uses the following assignment operators
(c-lang-defconst c-assignment-operators
vala '("=" "*=" "/=" "%=" "+=" "-=" ">>=" "<<="
"&=" "^=" "|=" "++" "--"))
;; This defines the primative types for Vala
(c-lang-defconst c-primitive-type-kwds
vala '("void" "char" "int" "float" "double" "string"))
;; The keywords that define that the following is a type, such as a
;; class definition.
(c-lang-defconst c-type-prefix-kwds
vala '("class" "interface" "struct" "enum" "signal"))
;; Type modifier keywords. They appear anywhere in types, but modifiy
;; instead create one.
(c-lang-defconst c-type-modifier-kwds
vala '("const"))
;; Structures that are similiar to classes.
(c-lang-defconst c-class-decl-kwds
vala '("class" "interface"))
;; The various modifiers used for class and method descriptions.
(c-lang-defconst c-modifier-kwds
vala '("public" "partial" "private" "const" "abstract"
"protected" "ref" "in" "out" "static" "virtual"
"override" "params" "internal" "weak" "owned"
"unowned"))
;; We don't use the protection level stuff because it breaks the
;; method indenting. Not sure why, though.
(c-lang-defconst c-protection-kwds
vala nil)
;; Define the keywords that can have something following after them.
(c-lang-defconst c-type-list-kwds
vala '("struct" "class" "interface" "is" "as"
"delegate" "event" "set" "get" "add" "remove"
"callback" "signal" "var" "default"))
;; This allows the classes after the : in the class declartion to be
;; fontified.
(c-lang-defconst c-typeless-decl-kwds
vala '(":"))
;; Sets up the enum to handle the list properly
(c-lang-defconst c-brace-list-decl-kwds
vala '("enum" "errordomain"))
;; We need to remove Java's package keyword
(c-lang-defconst c-ref-list-kwds
vala '("using" "namespace" "construct"))
;; Follow-on blocks that don't require a brace
(c-lang-defconst c-block-stmt-2-kwds
vala '("for" "if" "switch" "while" "catch" "foreach" "lock"))
;; Statements that break out of braces
(c-lang-defconst c-simple-stmt-kwds
vala '("return" "continue" "break" "throw"))
;; Statements that allow a label
;; TODO?
(c-lang-defconst c-before-label-kwds
vala nil)
;; Constant keywords
(c-lang-defconst c-constant-kwds
vala '("true" "false" "null"))
;; Keywords that start "primary expressions."
(c-lang-defconst c-primary-expr-kwds
vala '("this" "base"))
;; We need to treat namespace as an outer block to class indenting
;; works properly.
(c-lang-defconst c-other-block-decl-kwds
vala '("namespace"))
;; We need to include the "in" for the foreach
(c-lang-defconst c-other-kwds
vala '("in" "sizeof" "typeof"))
(require 'cc-awk)
(c-lang-defconst c-at-vsemi-p-fn
vala 'c-awk-at-vsemi-p)
(defcustom vala-font-lock-extra-types nil
"*List of extra types (aside from the type keywords) to recognize in Vala mode.
Each list item should be a regexp matching a single identifier.")
(defconst vala-font-lock-keywords-1 (c-lang-const c-matchers-1 vala)
"Minimal highlighting for Vala mode.")
(defconst vala-font-lock-keywords-2 (c-lang-const c-matchers-2 vala)
"Fast normal highlighting for Vala mode.")
(defconst vala-font-lock-keywords-3 (c-lang-const c-matchers-3 vala)
"Accurate normal highlighting for Vala mode.")
(defvar vala-font-lock-keywords vala-font-lock-keywords-3
"Default expressions to highlight in Vala mode.")
(defvar vala-mode-syntax-table
nil
"Syntax table used in vala-mode buffers.")
(or vala-mode-syntax-table
(setq vala-mode-syntax-table
(funcall (c-lang-const c-make-mode-syntax-table vala))))
(defvar vala-mode-abbrev-table nil
"Abbreviation table used in vala-mode buffers.")
(c-define-abbrev-table 'vala-mode-abbrev-table
;; Keywords that if they occur first on a line
;; might alter the syntactic context, and which
;; therefore should trig reindentation when
;; they are completed.
'(("else" "else" c-electric-continued-statement 0)
("while" "while" c-electric-continued-statement 0)
("catch" "catch" c-electric-continued-statement 0)
("finally" "finally" c-electric-continued-statement 0)))
(defvar vala-mode-map (let ((map (c-make-inherited-keymap)))
;; Add bindings which are only useful for Vala
map)
"Keymap used in vala-mode buffers.")
;;(easy-menu-define vala-menu vala-mode-map "Vala Mode Commands"
;; ;; Can use `vala' as the language for `c-mode-menu'
;; ;; since its definition covers any language. In
;; ;; this case the language is used to adapt to the
;; ;; nonexistence of a cpp pass and thus removing some
;; ;; irrelevant menu alternatives.
;; (cons "Vala" (c-lang-const c-mode-menu vala)))
;;; Autoload mode trigger
(add-to-list 'auto-mode-alist '("\\.vala$" . vala-mode))
(add-to-list 'auto-mode-alist '("\\.vapi$" . vala-mode))
;; Custom variables
(defcustom vala-mode-hook nil
"*Hook called by `vala-mode'."
:type 'hook
:group 'c)
;;; The entry point into the mode
;;;###autoload
(defun vala-mode ()
"Major mode for editing Vala code.
This is a simple example of a separate mode derived from CC Mode
to support a language with syntax similar to
C#/C/C++/ObjC/Java/IDL/Pike.
The hook `c-mode-common-hook' is run with no args at mode
initialization, then `vala-mode-hook'.
Key bindings:
\\{vala-mode-map}"
(interactive)
(kill-all-local-variables)
(c-initialize-cc-mode t)
(set-syntax-table vala-mode-syntax-table)
(setq major-mode 'vala-mode
mode-name "Vala"
local-abbrev-table vala-mode-abbrev-table
abbrev-mode t)
(use-local-map c-mode-map)
;; `c-init-language-vars' is a macro that is expanded at compile
;; time to a large `setq' with all the language variables and their
;; customized values for our language.
(c-init-language-vars vala-mode)
;; `c-common-init' initializes most of the components of a CC Mode
;; buffer, including setup of the mode menu, font-lock, etc.
;; There's also a lower level routine `c-basic-common-init' that
;; only makes the necessary initialization to get the syntactic
;; analysis and similar things working.
(c-common-init 'vala-mode)
;;(easy-menu-add vala-menu)
(c-set-style "linux")
(setq indent-tabs-mode t)
(setq c-basic-offset 4)
(setq tab-width 4)
(c-toggle-auto-newline -1)
(c-toggle-hungry-state -1)
(run-hooks 'c-mode-common-hook)
(run-hooks 'vala-mode-hook)
(c-update-modeline))
(provide 'vala-mode)
;;; vala-mode.el ends here

4
.gitignore vendored Normal file
View file

@ -0,0 +1,4 @@
*~
*session.*
*\#*
.emacs.d/ac-comphist.dat

7
README Normal file
View file

@ -0,0 +1,7 @@
To use these settings you need:
* Pyflakes
To install this in Ubuntu use:
sudo apt-get install pyflakes
To install this in Fedora use:
su -c "yum install pyflakes"

5
install.bat Normal file
View file

@ -0,0 +1,5 @@
@echo off
REM An install script for windows
copy /Y .emacs %APPDATA%\
copy /Y .emacs.d %APPDATA%\

9
install.sh Normal file
View file

@ -0,0 +1,9 @@
INSTALL_BASEFILE=`readlink -f $0`
INSTALL_BASEDIR=`dirname $INSTALL_BASEFILE`
ln -sf $INSTALL_BASEDIR/.emacs $HOME/.emacs
if [ -d $HOME/.emacs.d ]; then
rm -rf $HOME/.emacs.d
fi
ln -sf $INSTALL_BASEDIR/.emacs.d $HOME/