1
2##### Assignment
3
4### 1a Smart assign key ----------------------------------------------
5
6foo7
8##! "_"
9
10foo <- ¶
11
12##> "_"
13
14foo_15
16##> "_"
17
18foo_ <- ¶
19
20
21### 1b Can set `ess-smart-S-assign` to nil at any time ---------------
22
23foo24
25##! (setq ess-smart-S-assign-key nil)
26##! "_"
27
28foo_29
30##> "_"
31
32foo__33
34##> (setq ess-smart-S-assign-key "_") ; Reset
35##> "_"
36
37foo__ <- ¶
38
39
40### 2 Unbinding smart key --------------------------------------------
41
42foo43
44##! (define-key ess-mode-map "_" nil)
45##! "_"
46
47foo_48
49##> (define-key ess-mode-map "_" #'ess-smart-S-assign) ; Reset
50##> "_"
51
52foo_ <- ¶
53
54
55### 3a Binding `ess-insert-assign` to simple key ---------------------
56
57foo58
59##! (define-key ess-mode-map ";" #'ess-insert-assign)
60##! ";"
61
62foo <- ¶
63
64##> ";"
65
66foo67
68##> ";"
69
70foo; <- ¶
71
72
73### 3b Binding `ess-insert-assign` to simple key with nil smart key --
74
75foo76
77##! (setq ess-smart-S-assign-key nil)
78##! ";"
79
80foo <- ¶
81
82##> ";"
83
84foo85
86##> (define-key ess-mode-map ";" nil) ; Reset
87##> (setq ess-smart-S-assign-key "_") ; Reset
88##> ";"
89
90foo;;¶
91
92
93### 3c Binding `ess-insert-assign` to complex key --------------------
94
95foo96
97##! (let ((map (make-sparse-keymap)))
98##!   (define-key map (kbd "M--") #'ess-insert-assign)
99##!   (use-local-map map))
100##! "M--"
101
102foo <- ¶
103
104##> "M--"
105
106foo107
108
109### 4 `ess-insert-assign` uses `ess-assign-list` ---------------------
110
111foo112
113##! (setq-local ess-assign-list '(" <~ "))
114##! "_"
115
116foo <~ ¶
117
118##> "_"
119
120foo_121
122##> "_"
123
124foo_ <~ ¶
125
126