summaryrefslogtreecommitdiff
path: root/src/display_buffer.cc
AgeCommit message (Collapse)Author
2018-04-07Make FaceRegistry scopedMaxime Coste
set-face now takes a scope argument, and faces can be overridden on a buffer or window basis. colorscheme apply on global scope, which should be good enough for now. Fixes #1411
2018-04-05Fix some trailing spaces and a tab that sneaked into the code baseMaxime Coste
2017-10-12Refactor column highlighter to make it more robustMaxime Coste
Support arbitrary orders for column highlighters (it was previously failing when column highlighters were not applied in column order). Fix show_matching tab handling at the same time (horizontal scrolling, tab characters and show_matching were behaving badly). Window highlighting now runs user highlighters, then built-ins for each phases, instead of running all phases for user highlighters, then all phases for built-ins. We now consider unprintable character to be 1-column width as we know we will display them as "�". Fixes #1615 Fixes #1023
2017-08-29avoid literal eol in status lines, replace them with another symbolMaxime Coste
2017-08-23Optimize DisplayBuffer::optimize()Maxime Coste
Previous implementation was erasing in the middle of the atoms vector each time two atoms were merged, leading to a move of all following atoms.
2017-06-15Fix some other uses of invalid buffer coordinates in display codeMaxime Coste
2017-06-09Remove unused only_buffer mode for DisplayLine::trimMaxime Coste
2017-06-09Rework partial line display logicMaxime Coste
Instead of highlighting full lines and then trim them to make them fit in the window, highlight only the visible portion, and rely on the compute_display_setup system introduced for wrapping to setup our buffer range correctly
2017-05-08Distinguish between BufferRanges and InclusiveBufferRangesMaxime Coste
Fixes #1257
2017-03-11Increase modelinefmt configuration powerDan Rosén
2017-03-01src: Fix the string conversion of range facesFrank LENORMAND
Fixes #1250
2017-01-08Apply clang-tidy modernize to the codebaseMaxime Coste
2016-12-07Fix markup parsing handling of antislash escapesMaxime Coste
Antislashes did not need to immediately precede a face spec to escape it, it could be in any characters before it.
2016-10-26BufferRange option syntax support <line>.<column>+<len> and is inclusiveMaxime Coste
Fixes #864
2016-10-13Rename DisplayAtom::Types to avoid conflicts with struct BufferRangeMaxime Coste
2016-10-04Small code cleanupMaxime Coste
2016-10-01Support codepoints of variable widthMaxime Coste
Add a ColumnCount type and use it in place of CharCount whenever more appropriate, take column size of codepoints into account for vertical movements and docstring wrapping. Fixes #811
2016-07-28Add a char_length(Buffer&, const ByteCoord&, const ByteCoord&) utilMaxime Coste
2015-12-17Initial, WIP spelling implementationMaxime Coste
Add a ranges highlighter that takes a timestamped list of ranges and associated face. Add a spell.kak file that uses aspell pipe interface to fill a range-faces option.
2015-09-20Remove the default_face parameter of parse_display_lineMaxime Coste
No need to define a default face there, we will pass a default face to UserInterface::draw_status later.
2015-09-20Do not allow '\n' in display lines, replace with a spaceMaxime Coste
2015-09-19Add simple markup support to generate display lines from stringsMaxime Coste
The syntax is simply {face} to enable the given face, use \{ to escape a {, and \\ to escape a \.
2015-07-23Improve column highlighter to cooperate better with other highlightersMaxime Coste
Fixes #268
2015-04-23Use a struct for BufferRange rather than std::pairMaxime Coste
2015-04-23NCurses: When mode line is too long, trim it rather hiding itMaxime Coste
2015-03-10Refactor String, use a common StringOps interface, hide std::stringMaxime Coste
2014-11-12Cleanup includesMaxime Coste
2014-07-11Rename ColorPair to Face and ColorRegistry to FaceRegistryMaxime Coste
Face also stores the attributes
2014-05-07Refactor LineAndColumn coordinatesMaxime Coste
BufferCoord -> ByteCoord DisplayCoord -> CharCoord Moved their definition along with LineAndColumn into coord.hh
2014-04-02Fix compilation with OSX C++ libMaxime Coste
2013-12-12Add DisplayAtom::check_invariant methodMaxime Coste
2013-12-11Add experimental region_ref highlighterMaxime Coste
highlights a region using another highlighter.
2013-07-24merge AtomContent into DisplayAtomMaxime Coste
2013-07-24DisplayLine no longer map to a single buffer line, but to a buffer rangeMaxime Coste
2013-06-28Fix horizontal scrolling support with replaced buffer rangesMaxime Coste
tab character were not properly handled when scrolling horizontally
2013-05-30DisplayBuffer: use coords rather than iteratorsMaxime Coste
2013-05-02DisplayBuffer: optimize Text and ReplacedBufferRange as wellMaxime Coste
2013-04-09rename assert to kak_assert to avoid collisionsMaxime Coste
2013-04-04UserInterface: status line messages are now DisplayLinesMaxime Coste
This add color support for the status line
2013-03-18DisplayBuffer::split does not check if the split is on a character boundaryMaxime Coste
2013-03-06Use a ColorPair in DisplayAtoms instead of separate fg/bg colorsMaxime Coste
2012-10-22merge contiguous DisplayAtoms after highlighting DisplayBufferMaxime Coste
2012-10-08DisplayAtom: add utf8 sanity checkMaxime Coste
2012-10-08DisplayAtom: only let DisplayLine touch m_begin and m_endMaxime Coste
2012-07-12DisplayBuffer: add range and compute_range methodsMaxime Coste
2012-07-12DisplayBuffer rewrite, a DisplayBuffer is now a list of DisplayLinesMaxime Coste
Code is now greatly simplified using this architecture, and DisplayAtoms no longer know their DisplayCoords and can be in any order.
2012-07-03make display buffers and highlighters handle better longer than display linesMaxime Coste
still work in progress, I think the whole display system will in fact need a rewrite.
2012-07-03make DisplayBuffer::atom_containing easier to understandMaxime Coste
2012-07-03DisplayAtom: support empty replacementMaxime Coste
2012-05-29DisplayBuffer optimization, suppressed some paranoid checksMaxime Coste