-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathhistory
212 lines (140 loc) · 5.18 KB
/
history
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
Last change 2017-07-29
2017 Jul 29
Added scmindent.lua, .lispwords.lua.
2016 Dec 28
Fix string-trim-blanks to work on blank lines. From @netmany.
2014 Sep 16
Added scmindent.js, lispwords.json.
Fixed bug in num-leading-spaces (that fortunately didn't trigger
any indentation error all these years!).
Oct 30, 2010
Forms starting with "(#" should not trigger error. From Lasse Kliemann.
Sep 6, 2010
Scheme version should take car of paren-stack only after checking if latter is
non-null. From Eric Christopherson.
Mar 28, 2009
" is a token delimiter!
Mar 7, 2009
Scheme version is PLT only. Hopefully, R6RS-compliance later.
Mar 4, 2009
Allow keywords to have an indent number, i.e., the number of argument
subforms that should be indented “wide”. E.g., if has number 2, so the
then-clause is indented wide, but the else-clause backs up again, so you
can distinguish them.
(<literal> ...
<literal> ...)
because it's obviously not a function call, and the literal items look
better aligned flushleft.
Mar 3, 2009
vim's Lisp indenting still fails at times (a series of backslashed
doublequotes inside doublequotes trips it). So I have to resurrect this
old script. Added a CL version lispindent.lisp.
v 1b2
May 2, 2003
indent/scheme.vim now obsolete, as Vim's built-in
lispindent has incorporated it by not only
recognizing 'lispwords' but also by correctly
ignoring backslashed parens.
v 1b1
Dec 7, 2002
Use s: prefix for names of functions in scheme.vim
that will be used inside that file only.
v 1b
Nov 28, 2002
When looking for flush-left left-paren in order
to start calculating indents, make sure it has
immediately above it either: beginning of file,
a blank line, or a comment line. This allows
a series of flush-left parens to indent properly
at the first go, instead of user having to
repeatedly invoke the indenter.
Bugfix: String_trim_blanks wasn't trimming right space
if left space also present. This caused some lines
with (invisible) trailing spaces to indent
improperly.
Nov 17, 2002
Added makefile for my own use.
v 1a
Nov 4, 2002
search() when it returns 0 doesn't move cursor.
Take this into account.
Nov 3, 2002
scheme.vim: Copy in vim distribution dispensed with the
7-line window in GetSchemeIndent(), possibly because
the window wasn't large enough for some indentation
patterns. However, the change always picked a window
starting from file's first line, which slowed down
indents to a crawl for code further down the
file. Added code to pick a close enough line
(but without a hard-wired number) that nevertheless
gives accurate indents.
Feb 11, 2002
Use variable scheme_indent_window (default = 7)
to limit how far indenter looks back to indent current
line. Lower number => quicker response. If the
terminus line is already correctly indented, this
will not produce inaccurate indentation.
Feb 4, 2002
added note on how to define b:match_words
for the Scheme filetype so % works correctly.
Feb 3, 2002
scheme.vim, a Scheme indent plugin, is the new form of
scmindent.vim. scheme.vim does
setlocal indentexpr=GetSchemeIndent()
You must put scheme.vim in the indent subdir of
some dir in your runtimepath, and ensure that you
have 'filetype indent on'.
The indenting procedure treats the keywords in the
Vim option 'lispwords' as define-like. You can
add your own keywords to 'lispwords', perhaps on
a per-filetype basis.
Jan 31, 2002
Ensure multi-line strings aren't indented.
Use traditional Scheme indentation. Ie, most headwords
indent like cond, some special ones indent like define
or let. The latter can be added to in ~/.schemewords
(for scmindent.scm) or as the variable scheme_words
(for scmindent.vim). This style is practically like
emacs, except we don't allow for some headwords to have
a distinguished set of immediately following arguments
that are indented differently from the body. This
feature doesn't seem to be used and would have required
a user-definable table (and consequent
decision-making from the user).
scmindent.scm is strictly from stdin in stdout,
for easy portability.
Pare down the package for easy maintenance.
Nov 8, 2000
scmindent.scm script can take an arg file, which it
indents into stdout. This is to allow an alternate
nmap in Windows vi, where filters don't seem
able to read stdin.
scmtags.scm (like scmtags.pl) generates tags file for
Scheme/Lisp/ARTIM code for use with vim. scmetags
generates TAGS for use with emacs.
Nov 2, 2000
Separated lang-specific indentation into
different programs: scmindent for Scheme/Lisp,
shindent for shellscripts, brindent for
C-, Perl-like langs
Mar 11, 2000
scmindent.vim: Added a vmap for indenting a region.
Added support for autoindenting new lines.
Mar 4, 2000
scmindent.vim (Scheme indenter written directly in
Vim's extension lang)
Jan 28, 2000
scmindent.scm will indent C- or Perl-like code too, if
it realizes that that's what it's looking at.
Nov 12, 1999
scmtags.pl
Oct 30, 1999
Lparen followed by token of length 1 or 2 (eg, if,
=) will cause following line to indent past the token
(just like the preferred indentation for cond).
scmindent.pl will indent C- and Perl-like code
too, if it realizes that that's what it's looking at.
Oct 24, 1999
Perl, for portability.
Oct 8, 1999
MzScheme version