blob: ff710b271633fea592fc5096ee7c368810a002e6 [file] [log] [blame]
Bram Moolenaar6cd13452015-12-03 16:54:53 +01001" Tests for 'lispwords' settings being global-local
2
3set nocompatible viminfo+=nviminfo
4
5func Test_global_local_lispwords()
6 setglobal lispwords=foo,bar,baz
7 setlocal lispwords-=foo | setlocal lispwords+=quux
8 call assert_equal('foo,bar,baz', &g:lispwords)
9 call assert_equal('bar,baz,quux', &l:lispwords)
10 call assert_equal('bar,baz,quux', &lispwords)
11
12 setlocal lispwords<
13 call assert_equal('foo,bar,baz', &g:lispwords)
14 call assert_equal('foo,bar,baz', &l:lispwords)
15 call assert_equal('foo,bar,baz', &lispwords)
16endfunc
Bram Moolenaardb510072017-09-28 21:52:17 +020017
18func Test_lisp_indent()
19 enew!
20
21 call append(0, [
22 \ '(defun html-file (base)',
23 \ '(format nil "~(~A~).html" base))',
24 \ '',
25 \ '(defmacro page (name title &rest body)',
26 \ '(let ((ti (gensym)))',
27 \ '`(with-open-file (*standard-output*',
28 \ '(html-file ,name)',
29 \ ':direction :output',
30 \ ':if-exists :supersede)',
31 \ '(let ((,ti ,title))',
32 \ '(as title ,ti)',
33 \ '(with center ',
34 \ '(as h2 (string-upcase ,ti)))',
35 \ '(brs 3)',
36 \ ',@body))))',
37 \ '',
38 \ ';;; Utilities for generating links',
39 \ '',
40 \ '(defmacro with-link (dest &rest body)',
41 \ '`(progn',
42 \ '(format t "<a href=\"~A\">" (html-file ,dest))',
43 \ ',@body',
44 \ '(princ "</a>")))'
45 \ ])
Bram Moolenaar02b31112019-08-31 22:16:38 +020046 call assert_equal(7, lispindent(2))
47 call assert_equal(5, 6->lispindent())
Bram Moolenaarbd7206e2020-03-06 20:36:04 +010048 call assert_equal(-1, lispindent(-1))
Bram Moolenaar02b31112019-08-31 22:16:38 +020049
Bram Moolenaardb510072017-09-28 21:52:17 +020050 set lisp
51 set lispwords&
52 let save_copt = &cpoptions
53 set cpoptions+=p
54 normal 1G=G
55
56 call assert_equal([
57 \ '(defun html-file (base)',
58 \ ' (format nil "~(~A~).html" base))',
59 \ '',
60 \ '(defmacro page (name title &rest body)',
61 \ ' (let ((ti (gensym)))',
62 \ ' `(with-open-file (*standard-output*',
63 \ ' (html-file ,name)',
64 \ ' :direction :output',
65 \ ' :if-exists :supersede)',
66 \ ' (let ((,ti ,title))',
67 \ ' (as title ,ti)',
68 \ ' (with center ',
69 \ ' (as h2 (string-upcase ,ti)))',
70 \ ' (brs 3)',
71 \ ' ,@body))))',
72 \ '',
73 \ ';;; Utilities for generating links',
74 \ '',
75 \ '(defmacro with-link (dest &rest body)',
76 \ ' `(progn',
77 \ ' (format t "<a href=\"~A\">" (html-file ,dest))',
78 \ ' ,@body',
79 \ ' (princ "</a>")))',
80 \ ''
81 \ ], getline(1, "$"))
82
83 enew!
84 let &cpoptions=save_copt
Bram Moolenaarce11de82017-10-26 22:00:00 +020085 set nolisp
Bram Moolenaardb510072017-09-28 21:52:17 +020086endfunc
Bram Moolenaarbd7206e2020-03-06 20:36:04 +010087
88" vim: shiftwidth=2 sts=2 expandtab