2021.12.15 - GNU nano 6.0 "Humor heeft ook zijn leuke kanten" • Option --zero hides the title bar, status bar and help lines, and uses all rows of the terminal as editing area. The title bar and status bar can be toggled with M-Z. • Colors can now be specified also as three-digit hexadecimal numbers, in the format #rgb. This picks from the 216 index colors (that most terminals know) the color that is nearest to the given values. • For users who dislike numbers, there are fourteen new color names: rosy, beet, plum, sea, sky, slate, teal, sage, brown, ocher, sand, tawny, brick, and crimson. • Suspension is enabled by default, invokable with ^T^Z. The options -z, --suspendable, and 'set suspendable' are obsolete and ignored. (In case you want to be able to suspend nano with a single keystroke, you can put 'bind ^Z suspend main' in your nanorc.) • When automatic hard-wrapping is in effect, pasting just a few words (without a line break) will now hard-wrap the line when needed. • Toggling Append or Prepend clears the current filename. • The word count as shown by M-D is now affected by option --wordbounds; with it, nano counts words as 'wc' does; without it (the new default), words are counted in a more human way: seeing punctuation as space. • The YAML syntax file is now actually included in the tarball.
GNU nano is a simple and easy-to-use editor for on the terminal. https://nano-editor.org/ https://nano-editor.org/manual.html A concise overview of nano's shortcut keystrokes: https://nano-editor.org/cheatsheet.html The tarball and its signature are here: https://nano-editor.org/dist/v6/nano-6.0.tar.xz https://nano-editor.org/dist/v6/nano-6.0.tar.xz.asc Running the attached little script will show all colors and their codes. Specific issues that were addressed in this release: https://savannah.gnu.org/bugs/?56445 (add support for more colors [wish]) https://savannah.gnu.org/bugs/?61243 (clear filename when appending [wish]) https://savannah.gnu.org/bugs/?61308 (deleted answer was resurrected) https://savannah.gnu.org/bugs/?61316 (history could start in the middle) https://savannah.gnu.org/bugs/?61317 (with --preserve, ^S was still shown) https://savannah.gnu.org/bugs/?61331 (small memory leak for double options) https://savannah.gnu.org/bugs/?61334 (memory leak when dots on minibar) https://savannah.gnu.org/bugs/?61344 (clunky table of contents in manual) https://savannah.gnu.org/bugs/?61347 (email syntax miscolored final esses) https://savannah.gnu.org/bugs/?61353 (pasting words should hard-wrap [wish]) https://savannah.gnu.org/bugs/?61361 (miscolored Rust code between strings) https://savannah.gnu.org/bugs/?61367 (M-D word count mismatched Ctrl+Right) https://savannah.gnu.org/bugs/?61372 (unhelpful "Suspension not enabled") https://savannah.gnu.org/bugs/?61381 (syntax for SQL contained aliens) https://savannah.gnu.org/bugs/?61387 (mixed quotes could miscolor things) https://savannah.gnu.org/bugs/?61389 ("this\" was colored as valid string) https://savannah.gnu.org/bugs/?61391 (yaml.nanorc was missing in tarball) https://savannah.gnu.org/bugs/?61397 (toggling help lost focus) https://savannah.gnu.org/bugs/?61398 (toggling help lost the spotlight) https://savannah.gnu.org/bugs/?61419 (some unbind was colored as invalid) https://savannah.gnu.org/bugs/?61420 (some binds were colored as invalid) https://savannah.gnu.org/bugs/?61438 (a full justification could segfault) https://savannah.gnu.org/bugs/?61441 (--enable-linenumbers did not give M-N) https://savannah.gnu.org/bugs/?61445 (M-C blanked screen on tiny terminal) https://savannah.gnu.org/bugs/?61458 (--noread disallowed inserting files) https://savannah.gnu.org/bugs/?61460 (could not spell check in tiny version) https://savannah.gnu.org/bugs/?61487 ('\xčć' was colored as valid hex) https://savannah.gnu.org/bugs/?61496 (misleading feedback from M-O) https://savannah.gnu.org/bugs/?61509 (--minibar gave no feedback for insert) https://savannah.gnu.org/bugs/?61573 (rebinding ^Z failed on Linux console) https://savannah.gnu.org/bugs/?61574 (poor feedback for Ctrl+Shift+Fx) Changes between v5.9 and v6.0: ------------------------------ Brad Town (2): rcfile: support #rgb format for specifying colors in 256-color terminals docs: add a description of the hexadecimal #rgb color specification Benno Schulenberg (193): bindings: allow rebinding ^Z also on a Linux console (a VT) bindings: allow toggling line numbers (when enabled) also in tiny version bindings: let ^T in the tiny version invoke spell checker (when included) browser: with --zero, do not use the bottom row for displaying filenames build: fix compilation when configured with --disable-color build: fix compilation when configured with --disable-nanorc build: fix compilation when configured with --enable-tiny build: fix compilation with --enable-tiny --enable-nanorc build: fix compilation with --enable-tiny --enable-wrapping build: include the YAML syntax file among the distributed files bump version numbers and add a news item for the 6.0 release display: clear the status bar early enough, so that --zero can show text display: do not wipe the status bar when --zero or --minibar is active display: ensure feedback will be cleared also on a one-row terminal display: make sure there are at least as many text lines as help lines display: move some code for overwriting verbatim feedback with --zero display: redraw the screen in tiny version upon resuming from suspension display: with --zero, redraw the bottom row instead of wiping a message docs: add a hint about making ^L do just 'refresh' to the sample nanorc docs: add a meta description for the HTML rendering of the manual docs: add a suggested rebind and three suggested unbinds to the sample rc docs: avoid large Table of Contents at top of HTML version of manual docs: clarify that --enable options do not fully counteract --enable-tiny docs: correct the description of the layout -- four areas, not five docs: document the effect of --quickblank together with --zero/--minibar docs: explain the effect of --zero / -0 / 'set zero' docs: explain what it means when --rawsequences is needed docs: give more examples of things that --enable-tiny excludes docs: improve the title of the manual, away from the bare "nano" docs: list the new color names, from 'rosy' to 'crimson' docs: mark options -z, --suspendable, and 'set suspendable' as obsolete docs: mention "grey" also at the other place where color names are listed docs: mention M-Z (for toggling the interface) among the Feature Toggles docs: mention that --zero and 'set zero' hide also the help lines docs: move the chapter about editor basics into third position docs: prevent a black square in the PDF after the long synopsis line docs: reshuffle a GNU marker, to make the title clearer in search engines docs: reword several of the descriptions in the chapter on building nano docs: reword the beginning of the chapter on nanorc files docs: say thanks to the Indonesian translator feedback: give a more accurate message when the help lines won't appear feedback: refuse the --constantshow toggle (M-C) on a one-row terminal feedback: report an unbindable function key as an "Unknown sequence" feedback: report the number of inserted lines also with --zero or --mini feedback: show a relevant message for M-O when the syntax has 'tabgives' feedback: suppress chatty messages when --zero is active feedback: to have a status bar, suppress --zero while in the help viewer feedback: when reporting an unbound function key, mention its number feedback: when the user types ^Z, say they can suspend nano with ^T^Z feedback: with --mini or --zero, suppress number of lines for new buffer feedback: with --mini/--zero, suppress message when toggling whitespace feedback: with --zero, drop a message in a short while, as with --minibar files: allow inserting also when started with the --noread option files: clear original filename when the user toggles Append or Prepend gnulib: update to its current upstream state help: do not show ^S when --preserve is in effect help: ensure there is a blank line between title bar and start of text help: group the now lone mouse toggle with the "behavioral" ones help: remove an unneeded restriction for small terminals help: skip the leading blank line when the terminal is very flat help: when done, always redraw the "bottom bars", also with --zero history: process file faster by not filtering out hypothetical duplicates input: ensure that no more bytes are consumed than are available justify: correctly determine whether top-of-buffer has been reached memory: avoid a tiny leak when an option with an argument is given twice memory: avoid leaking the filename when dottifying it on the minibar new feature: option --zero for an interface without bars options: make --zero imply --nohelp, and 'set zero' imply 'set nohelp' pasting: when less than a line is pasted, allow automatic hard-wrapping po: update translations and regenerate POT file and PO files prompt: avoid resetting the history pointer when the search is cancelled prompt: begin at bottom of history list when at secondary prompt prompt: keep a clear answer clear also after an excursion into history rcfile: recognize fourteen new color names, mostly for subdued shades rcfile: remove the deprecated 'cutwordleft' and 'cutwordright' keywords replacing: keep centering the occurrence, also after toggling help lines replacing: keep the spotlighted occurrence in view, also with --zero replacing: keep the spotlighting, also after toggling the help lines search: with --zero, do not obscure an occurrence on the bottom row search: with --zero, drop a message at the same time as the spotlight statusbar: count words in the way that matches how Ctrl+Right moves statusbar: overwrite a message also when using --constant with --zero suspension: enable ^Z by default -- ignore -z option and drop M-Z toggle suspension: leave ^Z unbound by default -- just ^T^Z will suspend nano syntax: debian: remove file -- Debian itself will have to handle it syntax: default: colorize comments as one of the last things syntax: default: colorize dates, URLs, and nano's release motto syntax: email: use a character class, as \s does not work inside brackets syntax: gentoo: remove file -- Gentoo itself will have to handle it syntax: nanorc: add 'execute' menu for unbind, and drop a bad constraint syntax: nanorc: avoid colorizing #rgb codes as if they were comments syntax: nanorc: colorize a trailing comment when it begins with non-hex syntax: nanorc: colorize each of the fourteen new color names as valid syntax: nanorc: improve the file-matching regex syntax: nanorc: paint arguments of 'include' and 'extendsyntax' specially syntax: nanorc: require whitespace before the start= and end= keywords syntax: python: colorize backslash escapes, such as \n and \xef syntax: ruby: colorize embedded documentation as a comment syntax: rust: do not colorize as string the text between two strings syntax: sql: add a few more missing keywords, like TRUE and FALSE syntax: sql: add more missing keywords, like INNER and OUTER JOIN syntax: sql: add some missing keywords, like ALL and ANY and OR syntax: sql: add two missing data types -- xml and tsquery syntax: sql: colorize as flow control only keywords that clearly are such syntax: sql: colorize keywords regardless of case, and tweak the colors syntax: sql: colorize only single-quoted things as strings syntax: sql: colorize strings differently than types syntax: sql: remove alien stuff -- it was copied mostly from ruby syntax syntax: texinfo: be more precise in colorizing @commands syntax: texinfo: colorize the special @-plus-punctuation commands too syntaxes: avoid coloring "this\" as if it were a valid string syntaxes: colorize hex more strictly by using character class [:xdigit:] syntaxes: drop three redundant end-of-line anchors syntaxes: undouble the backslash within bracket expressions syntaxes: use one regex for coloring quoted strings, to avoid overlap tabbing: also with --zero, stay one row away from the prompt bar tweaks: add an auxiliary variable, to prepare for handling --zero tweaks: add two spaces and two comments, and drop an internal check tweaks: adjust two values -- help lines need at least 6 rows to be shown tweaks: avoid a compiler warning with --enable-tiny --enable-linenumbers tweaks: avoid redrawing the entire window when just a 'touch' will do tweaks: condense the definitions of all the empty functions tweaks: condense the regexes for Types in the SQL syntax tweaks: don't redraw the help lines (if present), and normalize a brace tweaks: drop a fragment of code that became functionless tweaks: elevate two messages, so they get shown with --mini or --zero tweaks: elide a variable that is confusing and has just one use case tweaks: elide two functions that each were called just once tweaks: elide two parameters, as they are now always the same tweaks: exclude some hidden-interface code from the tiny version tweaks: exclude some suspension code from the tiny version tweaks: fix a parentheses mistake -- found by a warning from Clang tweaks: fix a somewhat humorous typo tweaks: fix typo, and improve description of 'set zero' in sample nanorc tweaks: fold a special case into the general one tweaks: fold some regexes together, and trim or improve some comments tweaks: frob a couple of comments, and drop two, for conciseness tweaks: improve a comment, and drop two cluttering compile conditions tweaks: invert a condition, to get an early return instead of indentation tweaks: just let do_wrap() set 'refresh_needed' instead of returning TRUE tweaks: mark keystrokes consistently with @kbd in the manual tweaks: move a translator hint to where xgettext will see it tweaks: normalize whitespace, drop unneeded prototype, condense comment tweaks: on one-row terminals, suppress the message for two toggles tweaks: place the unsetting of a flag better, and rename a variable tweaks: put three email addresses between the customary angled brackets tweaks: reassign a copy of a string to a variable more economically tweaks: reduce redundancy (--enable-color implies --enable-nanorc) tweaks: remove redundant pair of parentheses, and swap two alternatives tweaks: remove redundant parentheses, trim comments, fold some regexes tweaks: remove two unneeded unsettings tweaks: rename a function and its parameter, to be clearer tweaks: rename a function, away from using an abbreviation tweaks: rename a function, for some contrast and to get rid of a suffix tweaks: rename a function, to describe better what it does nowadays tweaks: rename a function, to make it make sense tweaks: rename a variable, to be distinctive and less confusing tweaks: rename a variable, to be easier to read and to make more sense tweaks: rename five empty functions, to get rid of a meaningless suffix tweaks: rename three functions, to better fit the general scheme tweaks: rename three parameters, away from single letters tweaks: rename two empty functions, to be more to the point tweaks: rename two functions, to get rid of another senseless suffix tweaks: rename two functions, to get rid of one more senseless suffix tweaks: rename two functions, to get rid of the senseless suffix of one tweaks: rename two more functions, to lose a senseless suffix tweaks: rename two parameters and one variable, away from single letters tweaks: rename two variables, away from abbreviations tweaks: rename two variables, to fit with the names of similar ones tweaks: replace a verbose condition with a simpler early return tweaks: replace the obscure @* with the slightly clearer @sp tweaks: replace two direct refreshes with two scheduled ones tweaks: reshuffle a coloring rule, to have related ones together tweaks: reshuffle a few lines, and rename a variable tweaks: reshuffle a few lines, for Christmas and to group things better tweaks: reshuffle a fragment of code to a better place tweaks: reshuffle a line and adjust indentation after previous change tweaks: reshuffle a line into its proper order, and improve two comments tweaks: reshuffle some conditions, so that the ifs have similar formats tweaks: reshuffle some conditions, to have more balanced lines tweaks: reshuffle some lines, one for clarity, others for conciseness tweaks: reshuffle the flag conversion into their order in the help text tweaks: reshuffle two conditions, re-indent, and rewrap a line tweaks: reword a paragraph, and use usual M- to depict Meta keystrokes tweaks: rewrap an old news item, for distraction tweaks: rewrap three old NEWS items, for esthetics, and fix a date tweaks: shorten a comment, and drop some conditionalizing tweaks: shorten the description of --zero in the manuals a bit tweaks: shorten two comments, and fold two statements together tweaks: swap two parts of specific regexes, for consistency with others tweaks: untangle two case items, and shorten a message tweaks: use a color closer to the rest of the string, to reduce contrast tweaks: use a few fewer capitals, and drop an unneeded synonym -- Benno
#!/usr/bin/env python3 # Print the 216 color codes, each in its corresponding color. values = [ 0, 4, 8, 0xa, 0xc, 0xe ] thecodes = [ "#%1x%1x%1x" % (r, g, b) for r in values for g in values for b in values ] for (index, code) in enumerate(thecodes, start=16): sequence = ("\033[38;5;%sm%s\033[0m") % (index, code) separator = '\n' if index % 6 == 3 else ' ' print (sequence, separator, end='')
OpenPGP_signature
Description: OpenPGP digital signature
-- If you have a working or partly working program that you'd like to offer to the GNU project as a GNU package, see https://www.gnu.org/help/evaluation.html.