2014-03-01 Chris Allegretta <chrisa@asty.org>
* global.c (shortcut_init) - fix an issue with the split do_research() setup when using --enable-tiny * rcfile.c (parse_linter) - Allow linter to be unset using "" * rcfile.c - Allow syntaxes to be extended via "extendsyntax" directive. Color, header, magic and linter should all be able to be extended. Man page updates for nanorc(5). * doc/nanorc.sample.in - Document 'set quiet' git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4630 35c25a1d-7b9e-4130-9fde-d3aeb78583b8master
parent
bc5c7c3b74
commit
e52eac51f5
|
@ -1,3 +1,12 @@
|
||||||
|
2014-03-01 Chris Allegretta <chrisa@asty.org>
|
||||||
|
* global.c (shortcut_init) - fix an issue with the split
|
||||||
|
do_research() setup when using --enable-tiny
|
||||||
|
* rcfile.c (parse_linter) - Allow linter to be unset using ""
|
||||||
|
* rcfile.c - Allow syntaxes to be extended via "extendsyntax"
|
||||||
|
directive. Color, header, magic and linter should all be
|
||||||
|
able to be extended. Man page updates for nanorc(5).
|
||||||
|
* doc/nanorc.sample.in - Document 'set quiet'
|
||||||
|
|
||||||
2014-03-01 Mike Frysinger <vapier@gentoo.org>
|
2014-03-01 Mike Frysinger <vapier@gentoo.org>
|
||||||
* src/color.c (color_update) - Do not write to stderr on magic
|
* src/color.c (color_update) - Do not write to stderr on magic
|
||||||
errors. If the magic db has errors such that magic_load() fails,
|
errors. If the magic db has errors such that magic_load() fails,
|
||||||
|
|
|
@ -287,6 +287,13 @@ Same as above, except that the expression matching is case insensitive.
|
||||||
Read in self-contained color syntaxes from \fIsyntaxfile\fP. Note that
|
Read in self-contained color syntaxes from \fIsyntaxfile\fP. Note that
|
||||||
\fIsyntaxfile\fP can only contain \fBsyntax\fP, \fBcolor\fP, and
|
\fIsyntaxfile\fP can only contain \fBsyntax\fP, \fBcolor\fP, and
|
||||||
\fBicolor\fP commands.
|
\fBicolor\fP commands.
|
||||||
|
.TP
|
||||||
|
.B extendsyntax \fIstr\fP \fIdirective\fP [ \fIarg\fP ... ]
|
||||||
|
Extend the syntax previously defined as \fIstr\fP to include
|
||||||
|
new information. Allows you to add a new \fIcolor\fP, \fIicolor\fP,
|
||||||
|
\fImagic\fP, \fIheader\fP, or \fIlinter\fP directive to a syntax
|
||||||
|
defined. Useful when you want to add to definitions from the
|
||||||
|
system-installed syntax definitions (which are normally not writable).
|
||||||
|
|
||||||
.SH KEY BINDINGS
|
.SH KEY BINDINGS
|
||||||
Key bindings may be reassigned via the following commands:
|
Key bindings may be reassigned via the following commands:
|
||||||
|
|
|
@ -15,6 +15,11 @@
|
||||||
## its end. For example, for the "brackets" option, ""')>]}" will match
|
## its end. For example, for the "brackets" option, ""')>]}" will match
|
||||||
## ", ', ), >, ], and }.
|
## ", ', ), >, ], and }.
|
||||||
|
|
||||||
|
## Silently ignore problems with unknown directives in the nanorc file.
|
||||||
|
## Useful when your nanorc file might be read on systems with multiple
|
||||||
|
## versions of nano installed (e.g. your home directory is on NFS)
|
||||||
|
# set quiet
|
||||||
|
|
||||||
## Use auto-indentation.
|
## Use auto-indentation.
|
||||||
# set autoindent
|
# set autoindent
|
||||||
|
|
||||||
|
|
|
@ -789,8 +789,10 @@ void shortcut_init(bool unjustify)
|
||||||
add_to_funcs(do_search, MMAIN|MBROWSER, whereis_msg,
|
add_to_funcs(do_search, MMAIN|MBROWSER, whereis_msg,
|
||||||
IFSCHELP(nano_whereis_msg), FALSE, VIEW);
|
IFSCHELP(nano_whereis_msg), FALSE, VIEW);
|
||||||
|
|
||||||
|
#ifndef NANO_TINY
|
||||||
add_to_funcs(do_research, MBROWSER, whereis_next_msg,
|
add_to_funcs(do_research, MBROWSER, whereis_next_msg,
|
||||||
IFSCHELP(nano_whereis_next_msg), TRUE, VIEW);
|
IFSCHELP(nano_whereis_next_msg), TRUE, VIEW);
|
||||||
|
#endif /* NANO_TINY */
|
||||||
|
|
||||||
#ifndef DISABLE_JUSTIFY
|
#ifndef DISABLE_JUSTIFY
|
||||||
/* TRANSLATORS: Try to keep this at most 10 characters. */
|
/* TRANSLATORS: Try to keep this at most 10 characters. */
|
||||||
|
|
43
src/rcfile.c
43
src/rcfile.c
|
@ -834,6 +834,9 @@ void parse_colors(char *ptr, bool icase)
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
fprintf(stderr, "Adding new entry for fg %hd, bg %hd\n", fg, bg);
|
fprintf(stderr, "Adding new entry for fg %hd, bg %hd\n", fg, bg);
|
||||||
#endif
|
#endif
|
||||||
|
/* Need to recompute endcolor now so we can extend colors to syntaxes */
|
||||||
|
for (endcolor = endsyntax->color; endcolor->next != NULL; endcolor = endcolor->next)
|
||||||
|
;
|
||||||
endcolor->next = newcolor;
|
endcolor->next = newcolor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -962,7 +965,11 @@ void parse_linter(char *ptr)
|
||||||
if (endsyntax->linter != NULL)
|
if (endsyntax->linter != NULL)
|
||||||
free(endsyntax->linter);
|
free(endsyntax->linter);
|
||||||
|
|
||||||
endsyntax->linter = mallocstrcpy(syntaxes->linter, ptr);
|
/* Let them unset the linter by using "" */
|
||||||
|
if (!strcmp(ptr, "\"\""))
|
||||||
|
endsyntax->linter = NULL;
|
||||||
|
else
|
||||||
|
endsyntax->linter = mallocstrcpy(syntaxes->linter, ptr);
|
||||||
}
|
}
|
||||||
#endif /* ENABLE_COLOR */
|
#endif /* ENABLE_COLOR */
|
||||||
|
|
||||||
|
@ -1007,6 +1014,9 @@ void parse_rcfile(FILE *rcstream
|
||||||
char *buf = NULL;
|
char *buf = NULL;
|
||||||
ssize_t len;
|
ssize_t len;
|
||||||
size_t n = 0;
|
size_t n = 0;
|
||||||
|
#ifdef ENABLE_COLOR
|
||||||
|
syntaxtype *end_syn_save = NULL;
|
||||||
|
#endif
|
||||||
|
|
||||||
while ((len = getline(&buf, &n, rcstream)) > 0) {
|
while ((len = getline(&buf, &n, rcstream)) > 0) {
|
||||||
char *ptr, *keyword, *option;
|
char *ptr, *keyword, *option;
|
||||||
|
@ -1031,6 +1041,28 @@ void parse_rcfile(FILE *rcstream
|
||||||
keyword = ptr;
|
keyword = ptr;
|
||||||
ptr = parse_next_word(ptr);
|
ptr = parse_next_word(ptr);
|
||||||
|
|
||||||
|
|
||||||
|
/* Handle extending first... */
|
||||||
|
if (strcasecmp(keyword, "extendsyntax") == 0) {
|
||||||
|
char *syntaxname = ptr;
|
||||||
|
syntaxtype *ts = NULL;
|
||||||
|
|
||||||
|
ptr = parse_next_word(ptr);
|
||||||
|
for (ts = syntaxes; ts != NULL; ts = ts->next)
|
||||||
|
if (!strcmp(ts->desc, syntaxname))
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (ts == NULL) {
|
||||||
|
rcfile_error(N_("Could not find syntax \"%s\" to extend"), syntaxname);
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
end_syn_save = endsyntax;
|
||||||
|
endsyntax = ts;
|
||||||
|
keyword = ptr;
|
||||||
|
ptr = parse_next_word(ptr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Try to parse the keyword. */
|
/* Try to parse the keyword. */
|
||||||
if (strcasecmp(keyword, "set") == 0) {
|
if (strcasecmp(keyword, "set") == 0) {
|
||||||
#ifdef ENABLE_COLOR
|
#ifdef ENABLE_COLOR
|
||||||
|
@ -1084,6 +1116,15 @@ void parse_rcfile(FILE *rcstream
|
||||||
else
|
else
|
||||||
rcfile_error(N_("Command \"%s\" not understood"), keyword);
|
rcfile_error(N_("Command \"%s\" not understood"), keyword);
|
||||||
|
|
||||||
|
#ifdef ENABLE_COLOR
|
||||||
|
/* If we temporarily reset emdsyntax to allow extending, reset
|
||||||
|
the value here */
|
||||||
|
if (end_syn_save != NULL) {
|
||||||
|
endsyntax = end_syn_save;
|
||||||
|
end_syn_save = NULL;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (set == 0)
|
if (set == 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue