summaryrefslogtreecommitdiffstats
path: root/utf8.c
AgeCommit message (Collapse)Author
2019-03-18Merge branch 'obsd-master'Thomas Adam
2019-03-18Extend the #[] style syntax and use that together with previous formatnicm
changes to allow the status line to be entirely configured with a single option. Now that it is possible to configure their content, enable the existing code that lets the status line be multiple lines in height. The status option can now take a value of 2, 3, 4 or 5 (as well as the previous on or off) to configure more than one line. The new status-format array option configures the format of each line, the default just references the existing status-* options, although some of the more obscure status options may be eliminated in time. Additions to the #[] syntax are: "align" to specify alignment (left, centre, right), "list" for the window list and "range" to configure ranges of text for the mouse bindings. The "align" keyword can also be used to specify alignment of entries in tree mode and the pane status lines.
2017-06-05Merge branch 'obsd-master'Thomas Adam
Conflicts: tmux.1 window.c
2017-06-04Remove unused variable.nicm
2017-06-04Be more strict about escape sequences that rename windows or set titles:nicm
ignore any that not valid UTF-8 outright, and for good measure pass the result through our UTF-8-aware vis(3).
2017-06-01Merge branch 'obsd-master'Thomas Adam
Conflicts: window-buffer.c
2017-05-31Style and spacing nits.nicm
2017-03-21Bad merge.Nicholas Marriott
2017-03-17Fix a couple of argument types.nicm
2017-01-18Merge branch 'obsd-master'Thomas Adam
2017-01-18Plain stravis() because it will mangle UTF-8 characters, so addnicm
utf8_stravis() which calls our existing utf8_strvis() and use it instead
2016-10-12Merge branch 'obsd-master'Thomas Adam
Conflicts: format.c osdep-openbsd.c
2016-10-11Support UTF-8 entry into the command prompt.nicm
2016-09-01Add support for using utf8proc with --enable-utf8proc, useful for platformsNicholas Marriott
(like OS X) where the system implementation is crap. From Joshua Rubin.
2016-05-28Merge branch 'obsd-master'Thomas Adam
2016-05-27Most of the utf8_data is fixed so simplify utf8_set to use a memcpy.nicm
2016-04-29Only assume width 1 when wcwidth() returns -1 on non-OpenBSD platforms.Nicholas Marriott
2016-04-29Merge branch 'obsd-master'Thomas Adam
2016-04-29OpenBSD wcwidth() is sensible and complete so if it returns -1 it meansnicm
that a character is not printable, so return to ignoring such characters.
2016-04-27Merge branch 'obsd-master'Thomas Adam
2016-04-27Loads of platforms appear to have old or broken Unicode character typenicm
information and are missing widths for relatively common Unicode characters (so mbtowc() works, but wcwidth() fails). So if wcwidth() returns -1, assume a width of 1 instead of ignoring the character.
2016-04-26Merge branch 'obsd-master'Thomas Adam
2016-04-26Log wcwidth() and mbtowc() failure to make it easier to debug a Unicodenicm
codepoint not appearing.
2016-03-02+wchar.hNicholas Marriott
2016-03-02Merge branch 'obsd-master'Thomas Adam
Conflicts: utf8.c
2016-03-02Handle wcwidth() and mbtowc() failures in better style and dropnicm
characters where we can't find the width (wcwidth() fails) on input, the same as we drop invalid UTF-8. Suggested by schwarze@.
2016-03-01Use system wcwidth() instead of carrying around UTF-8 width tables.nicm
2016-01-31Merge branch 'obsd-master'Thomas Adam
2016-01-31Whoops, need this for the previous reverse trim commit too.nicm
2016-01-19Merge branch 'obsd-master'Thomas Adam
2016-01-19I no longer use my SourceForge address so replace it.nicm
2015-11-21Merge branch 'obsd-master'Thomas Adam
Conflicts: tmux.h
2015-11-20Memory leaks and an uninitialized part of utf8_data, from Patrick Palka.nicm
2015-11-14Merge branch 'obsd-master'Thomas Adam
2015-11-14The private use area at U+E000 to U+F8FF is not very useful if it isnicm
width 0, make it width 1 instead.
2015-11-14Merge branch 'obsd-master'Thomas Adam
2015-11-14All these return values from utf8_* are confusing, use an enum.nicm
2015-11-14Merge branch 'obsd-master'Thomas Adam
2015-11-14Rename a variable in utf8_combine for consistency and use 0xfffd fornicm
unknown Unicode.
2015-11-14Be more strict about invalid UTF-8.nicm
2015-11-13Merge branch 'obsd-master'Thomas Adam
Conflicts: Makefile
2015-11-13Long overdue change to the way we store cells in the grid: now, insteadnicm
of storing a full grid_cell with UTF-8 data and everything, store a new type grid_cell_entry. This can either be the cell itself (for ASCII cells), or an offset into an extended array (per line) for UTF-8 data. This avoid a large (8 byte) overhead on non-UTF-8 cells (by far the majority for most users) without the complexity of the shadow array we had before. Grid memory without any UTF-8 is about half. The disadvantage that cells can no longer be modified in place and need to be copied out of the grid and back but it turned out to be lot less complicated than I expected.
2015-11-13Merge branch 'obsd-master'Thomas Adam
2015-11-12Rename overly-long utf8data to ud throughout.nicm
2015-11-12Merge branch 'obsd-master'Thomas Adam
2015-11-12Add utf8_padcstr and use it to align columns in list-keys.nicm
2015-11-12Tidy utf8.c a little: build table on first use, and make utf8_width takenicm
a u_int rather than splitting and then combining again in utf8_split.
2015-11-12Merge branch 'obsd-master'Thomas Adam
2015-11-12If we know the terminal outside tmux is not UTF-8, replace UTF-8 innicm
error messages and whatnot with underscores the same as we do when we draw UTF-8 characters as part of the screen.
2015-11-12Support UTF-8 key bindings by expanding the key type from int tonicm
uint64_t and converting UTF-8 to Unicode on input and the reverse on output. (This allows key bindings, there are still omissions - the largest being that the various prompts do not accept UTF-8.)