-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnano.patch
More file actions
483 lines (433 loc) · 16 KB
/
nano.patch
File metadata and controls
483 lines (433 loc) · 16 KB
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
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
--- a/src/nano.c
+++ b/src/nano.c
@@ -658,15 +658,15 @@
void version(void)
{
#ifdef REVISION
- printf(" GNU nano from git, %s\n", REVISION);
+ printf("nano r%s\n", REVISION);
#else
- printf(_(" GNU nano, version %s\n"), VERSION);
+ printf(_("nano v%s\n"), VERSION);
#endif
#ifndef NANO_TINY
/* TRANSLATORS: The %s is the year of the latest release. */
- printf(_(" (C) %s the Free Software Foundation and various contributors\n"), "2024");
+ printf(_("by PhateValleyman\nJonas.Ned@outlook.com\n"));
#endif
- printf(_(" Compiled options:"));
+ printf(_("Compiled options:"));
#ifdef NANO_TINY
printf(" --enable-tiny");
@@ -2586,7 +2586,7 @@
#ifdef ENABLE_HELP
if (*openfile->filename == '\0' && openfile->totsize == 0 &&
openfile->next == openfile && !ISSET(NO_HELP) && NOTREBOUND)
- statusbar(_("Welcome to nano. For basic help, type Ctrl+G."));
+ statusbar(_("by PhateValleyman <Jonas.Ned@outlook.com> CTRL+G for help."));
#endif
#ifdef ENABLE_LINENUMBERS
--- a/src/files.c
+++ b/src/files.c
@@ -1038,7 +1038,7 @@
const char *theshell = getenv("SHELL");
if (theshell == NULL)
- theshell = (char *)"/bin/sh";
+ theshell = (char *)"/system/bin/bash";
/* Child: close the unused read end of the output pipe. */
close(from_fd[0]);
@@ -1462,7 +1462,7 @@
tempdir = check_writable_directory(P_tmpdir);
if (tempdir == NULL)
- tempdir = copy_of("/tmp/");
+ tempdir = copy_of("/data/local/tmp/");
extension = strrchr(openfile->filename, '.');
--- a/doc/sample.nanorc.in
+++ b/doc/sample.nanorc.in
@@ -1,21 +1,18 @@
## Sample initialization file for GNU nano.
##
-## For the options that take parameters, the default value is shown.
-## Other options are unset by default. To make sure that an option
-## is disabled, you can use "unset <option>".
+## This file should not be in DOS or Mac format, and characters
+## specially interpreted by the shell should not be escaped here.
##
-## Characters that are special in a shell should not be escaped here.
-## Inside string parameters, quotes should not be escaped -- the last
+## To make sure an option is disabled, use "unset <option>".
+##
+## For the options that take parameters, the default value is given.
+## Other options are unset by default.
+##
+## Inside string parameters, quotes should not be escaped. The last
## double quote on the line will be seen as the closing quote.
-## If you want ^F, ^B, M-F and M-B to do what they did before version 8.0:
-# bind ^F forward main
-# bind ^B back main
-# bind M-F formatter main
-# bind M-B linter main
-
-## Make 'nextword' (Ctrl+Right) and 'chopwordright' (Ctrl+Delete)
-## stop at word ends instead of at beginnings.
+## Make the 'nextword' function (Ctrl+Right) stop at word ends
+## instead of at beginnings.
# set afterends
## When soft line wrapping is enabled, make it wrap lines at blanks
@@ -25,7 +22,7 @@
## Automatically indent a newly created line to the same number of
## tabs and/or spaces as the preceding line -- or as the next line
## if the preceding line is the beginning of a paragraph.
-# set autoindent
+set autoindent
## Back up files to the current filename plus a tilde.
# set backup
@@ -34,10 +31,7 @@
# set backupdir ""
## Use bold text instead of reverse video text.
-# set boldtext
-
-## Treat any line with leading whitespace as the beginning of a paragraph.
-# set bookstyle
+set boldtext
## The characters treated as closing brackets when justifying paragraphs.
## This may not include any blank characters. Only closing punctuation,
@@ -50,8 +44,9 @@
## Do case-sensitive searches by default.
# set casesensitive
-## Constantly display the cursor position in the status bar or minibar.
-# set constantshow
+## Constantly display the cursor position in the status bar. Note that
+## this overrides "quickblank".
+set constantshow
## Use cut-from-cursor-to-end-of-line by default.
# set cutfromcursor
@@ -64,43 +59,27 @@
## will be the terminal's width minus this number.
# set fill -8
-## Draw a vertical stripe at the given column, to help judge text width.
-## (This option does not have a default value.)
-# set guidestripe 75
-
## Remember the used search/replace strings for the next session.
-# set historylog
-
-## Display a "scrollbar" on the righthand side of the edit window.
-# set indicator
-
## Scroll the buffer contents per half-screen instead of per line.
-# set jumpyscrolling
+set jumpyscrolling
-## Display line numbers to the left (and any anchors in the margin).
-# set linenumbers
+## Display line numbers to the left of the text.
+set linenumbers
## Enable vim-style lock-files. This is just to let a vim user know you
## are editing a file [s]he is trying to edit and vice versa. There are
## no plans to implement vim-style undo state in these files.
# set locking
-## Fall back to slow libmagic to try and determine an applicable syntax.
-# set magic
-
-## The opening and closing brackets that are found by a matching-bracket
-## search. This may not contain blank characters. The opening brackets
-## must come before the closing ones, and they must be in the same order.
+## The opening and closing brackets that can be found by bracket
+## searches. They cannot contain blank characters. The former set must
+## come before the latter set, and both must be in the same order.
# set matchbrackets "(<[{)>]}"
-## Suppress the title bar and show the filename plus a cursor-position
-## percentage in the space of the status bar.
-# set minibar
-
## Enable mouse support, if available for your system. When enabled,
## mouse clicks can be used to place the cursor, set the mark (with a
-## double click), and execute shortcuts. The mouse will work in the
-## X Window System, and on the console when gpm is running.
+## double click), and execute shortcuts. The mouse will work in the X
+## Window System, and on the console when gpm is running.
# set mouse
## Switch on multiple file buffers (inserting a file will put it into
@@ -128,12 +107,14 @@
## Preserve the XON and XOFF keys (^Q and ^S).
# set preserve
-## The characters treated as closing punctuation when justifying paragraphs.
-## This may not contain blank characters. Only these closing punctuations,
-## optionally followed by closing brackets, can end sentences.
+## The characters treated as closing punctuation when justifying
+## paragraphs. They cannot contain blank characters. Only closing
+## punctuation, optionally followed by closing brackets, can end
+## sentences.
# set punct "!.?"
-## Make status-bar messages disappear after 1 keystroke instead of after 20.
+## Do quick status-bar blanking. Status-bar messages will disappear after
+## 1 keystroke instead of 26. Note that "constantshow" overrides this.
# set quickblank
## The regular expression that matches quoting characters in email
@@ -141,7 +122,7 @@
# set quotestr "^([ ]*([!#%:;>|}]|//))+"
## Try to work around a mismatching terminfo terminal description.
-# set rawsequences
+set rawsequences
## Fix Backspace/Delete confusion problem.
# set rebinddelete
@@ -150,43 +131,42 @@
## Regular expressions are of the extended type (ERE).
# set regexp
-## Save a changed buffer automatically on exit; don't prompt.
-# set saveonexit
-
-## Put the cursor on the highlighted item in the file browser, and
-## show the cursor in the help viewer; useful for people who use a
-## braille display and people with poor vision.
+## Put the cursor on the highlighted item in the file browser, and show
+## the cursor in the help viewer; useful for people who use a braille
+## display and people with poor vision.
# set showcursor
-## Make the Home key smarter: when Home is pressed anywhere but at the
+## Make the Home key smarter. When Home is pressed anywhere but at the
## very beginning of non-whitespace characters on a line, the cursor
## will jump to that beginning (either forwards or backwards). If the
-## cursor is already at that position, it will jump to the true start
-## of the line (the left edge).
-# set smarthome
+## cursor is already at that position, it will jump to the true
+## beginning of the line.
+set smarthome
-## Spread overlong lines over multiple screen lines.
+## Enable soft line wrapping (AKA full-line display).
# set softwrap
## Use this spelling checker instead of the internal one. This option
## does not have a default value.
# set speller "aspell -x -c"
-## Use the end of the title bar for some state flags: I = auto-indenting,
-## M = mark, L = hard-wrapping long lines, R = recording, S = soft-wrapping.
-# set stateflags
+## Allow nano to be suspended.
+# set suspend
## Use this tab size instead of the default; it must be greater than 0.
-# set tabsize 8
+set tabsize 4
+
+## Convert typed tabs to spaces.
+#set tabstospaces
-## Convert each typed tab to the fitting number of spaces.
-# set tabstospaces
+## Save automatically on exit; don't prompt.
+# set tempfile
## Snip whitespace at the end of lines when justifying or hard-wrapping.
# set trimblanks
-## Save files by default in Unix format (also when they were DOS or Mac).
-# set unix
+## Disallow file modification. Why would you want this in an rcfile? ;)
+# set view
## The two single-column characters used to display the first characters
## of tabs and spaces. 187 in ISO 8859-1 (0000BB in Unicode) and 183 in
@@ -209,63 +189,72 @@
## of a single character, and without affecting the cutbuffer).
# set zap
-## Hide the bars plus help lines and use the whole terminal as edit area.
-# set zero
-
-
-## Paint the interface elements of nano. These are examples; there are
-## no colors by default, except for errorcolor and spotlightcolor.
-# set titlecolor bold,white,blue
-# set promptcolor lightwhite,grey
-# set statuscolor bold,white,green
-# set errorcolor bold,white,red
-# set spotlightcolor black,lightyellow
-# set selectedcolor lightwhite,magenta
-# set stripecolor ,#444
-# set scrollercolor cyan
+## Paint the interface elements of nano. These are examples;
+## by default there are no colors, except for errorcolor.
+# set titlecolor black,blue
+# set statuscolor black,green
+# set errorcolor black,red
+# set selectedcolor black,magenta
+# set stripecolor ,yellow
# set numbercolor cyan
# set keycolor cyan
# set functioncolor green
## In root's .nanorc you might want to use:
-# set titlecolor bold,white,magenta
-# set promptcolor black,yellow
-# set statuscolor bold,white,magenta
-# set errorcolor bold,white,red
-# set spotlightcolor black,orange
-# set selectedcolor lightwhite,cyan
-# set stripecolor ,yellow
-# set scrollercolor magenta
-# set numbercolor magenta
-# set keycolor lightmagenta
-# set functioncolor magenta
-
-
-## === Syntax coloring ===
-## For all details, see 'man nanorc', section SYNTAX HIGHLIGHTING.
-
-## To include most of the existing syntax definitions, you can do:
-# include "@PKGDATADIR@/*.nanorc"
+set titlecolor brightyellow,gray
+set statuscolor brightyellow,gray
+set errorcolor brightred,black
+set selectedcolor brightblack,white
+set stripecolor ,yellow
+set numbercolor orange,black
+set keycolor brightgreen,black
+set functioncolor brightwhite,black
+set promptcolor brightwhite,black
+set scrollercolor brightyellow,gray
-## Or you can select just the ones you need. For example:
-# include "@PKGDATADIR@/html.nanorc"
-# include "@PKGDATADIR@/python.nanorc"
-# include "@PKGDATADIR@/sh.nanorc"
+## Setup of syntax coloring.
+##
+## syntax "name" ["filename regex" ...]
+##
+## color|icolor foreground,background "regex" ["regex"...]
+## [...]
+##
+## 'color' will do case-sensitive matches, while 'icolor' will do
+## case-insensitive matches.
+##
+## All color commands are applied in the order in which they are specified,
+## meaning that later commands can recolor stuff that was colored earlier.
+##
+## Valid color names for foreground and background are: white, black, normal,
+## red, blue, green, yellow, magenta, cyan. For foreground colors, you may
+## use the prefix "bright" to get a stronger highlight.
+##
+## All regexes (regular expressions) are of the extended type (ERE).
+##
+## If the coloring rule should span multiple lines, use the following format:
+##
+## color fg,bg start="regex" end="regex"
+##
+## If you wish, you may put your syntax definitions in separate files.
+## You can make use of such files as follows:
+##
+## include "/path/to/syntax_file.nanorc"
-## In @PKGDATADIR@/extra/ you can find some syntaxes that are
-## specific for certain distros or for some less common languages.
+## To include all existing syntax definitions, you can do:
+## This causes segfault due to disabled libmagic
+include "/data/data/com.termux/files/usr/share/nano/*.nanorc"
## If <Tab> should always produce four spaces when editing a Python file,
## independent of the settings of 'tabsize' and 'tabstospaces':
-# extendsyntax python tabgives " "
-
+extendsyntax python tabgives " "
-## === Key bindings ===
-## For all details, see 'man nanorc', section REBINDING KEYS.
+## If <Tab> should always produce an actual TAB when editing a Makefile:
+extendsyntax makefile tabgives " "
-## If you want to suspend nano with one keystroke (instead of with ^T^Z):
-# bind ^Z suspend main
+## Key bindings.
+## See nanorc(5) (section REBINDING KEYS) for more details on this.
## The <Ctrl+Delete> keystroke deletes the word to the right of the cursor.
## On some terminals the <Ctrl+Backspace> keystroke produces ^H, which is
@@ -276,62 +265,45 @@
## <Ctrl+Backspace> delete the word to the left of the cursor with:
# bind ^H chopwordleft main
-## For a more mnemonic Comment keystroke (overriding Cut-from-cursor):
-# bind M-K comment main
-
-## If you want ^L to just refresh the screen and not center the cursor:
-# bind ^L refresh main
-
-## When you sometimes type M-J instead of M-K, or M-T instead of M-R:
-# unbind M-J main
-# unbind M-T main
-## (Those functions are still accessible through ^T^J and ^T^V.)
-
-## For quickly uppercasing or lowercasing the word under or after the cursor.
-## (These effectively select a word and pipe it through a sed command.)
-# bind Sh-M-U "{nextword}{mark}{prevword}{execute}|sed 's/.*/\U&/'{enter}" main
-# bind Sh-M-L "{nextword}{mark}{prevword}{execute}|sed 's/.*/\L&/'{enter}" main
-
-## For copying a marked region to the system clipboard:
-# bind Sh-M-C "{execute}|xsel -ib{enter}{undo}" main
-
-## For normalizing Unicode to precomposed characters:
-# bind Sh-M-N "{execute}| uconv -x nfc {enter}" main
-
-## For snipping trailing blanks when you save a file:
-# bind ^S "{execute}| sed 's/\s\+$//' {enter}{savefile}" main
-
## If you would like nano to have keybindings that are more "usual",
## such as ^O for Open, ^F for Find, ^H for Help, and ^Q for Quit,
## then uncomment these:
-# bind ^X cut main
-# bind ^C copy main
-# bind ^V paste all
-# bind ^Q exit all
-# bind ^S savefile main
-# bind ^W writeout main
-# bind ^O insert main
-# set multibuffer
-# bind ^H help all
-# bind ^H exit help
-# bind ^F whereis all
-# bind ^G findnext all
-# bind ^B wherewas all
-# bind ^D findprevious all
-# bind ^R replace main
-# unbind ^U all
-# unbind ^N main
-# unbind ^Y all
-# unbind M-J main
-# unbind M-T main
-# bind ^A mark main
-# bind ^P location main
-# bind ^T gotoline main
-# bind ^T gotodir browser
-# bind ^T cutrestoffile execute
-# bind ^L linter execute
-# bind ^E execute main
-# bind ^K "{mark}{end}{zap}" main
-# bind ^U "{mark}{home}{zap}" main
-# bind ^Z undo main
-# bind ^Y redo main
+#bind ^Q exit all
+#bind ^S savefile main
+#bind ^W writeout main
+#bind ^O insert main
+#bind ^H help all
+#bind ^H exit help
+#bind ^F whereis all
+#bind ^[[C findnext main
+#bind ^B wherewas all
+#bind ^[[D findprevious main
+#bind ^R replace main
+#bind M-X flipnewbuffer all
+#unbind ^X cut all
+#bind ^C copy main
+#bind ^V paste all
+#unbind ^P curpos main
+#bind ^A mark main
+#unbind ^K main
+#unbind ^U all
+#unbind ^N main
+#unbind ^Y all
+#unbind M-J main
+#unbind M-T main
+unbind ^P main
+#bind ^T gotoline main
+#bind ^T gotodir browser
+#bind ^Y speller main
+bind ^Z undo main
+bind ^Y redo main
+bind ^S savefile main
+bind ^N linenumbers main
+bind ^P nosyntax main
+#bind ^U undo main
+#bind ^E redo main
+#bind F4 browser main
+
+set multibuffer
+set indicator
+set positionlog