1. May 25, 2023
  2. May 21, 2023
  3. May 12, 2023
  4. May 04, 2023
  5. May 03, 2023
    • Adam Saponara's avatar
      bump version · 8f1d9bca
      Adam Saponara authored
      8f1d9bca
    • Adam Saponara's avatar
      split `_bview_is_in_isearch` into two functions · b836a80b
      Adam Saponara authored
      relying on `last_*` statics was ugly and buggy.
      b836a80b
    • Adam Saponara's avatar
      only use viewport_x when vwidth is gt buffer width · fb684535
      Adam Saponara authored
      previously if you cursored to the end of a long line (with softwrap
      off), we'd set `viewport_x` and subsequently apply it even for short
      lines narrower than buffer rect width. now we only apply `viewport_x`
      when necessary.
      fb684535
    • Adam Saponara's avatar
      apply isearch_rule separately from normal srules · 6a7787c0
      Adam Saponara authored
      commit 7231152c broke isearch highlighting because if an earlier rule
      matched, the isearch rule would not. prepending the rule would not
      work either as it would potentially prevent other srules from applying
      normally. for example, if we had an srule for "foobar" and currently
      isearching "foo", we'd either apply whatever srule appeared first --
      the "foobar" srule or the isearch rule -- but not both. therefore,
      similar to range_srules, we have to apply isearch rules in a separate
      pass.
      6a7787c0
  6. May 01, 2023
    • Adam Saponara's avatar
      improve `cursor_select_by_string` · 65b27ad9
      Adam Saponara authored
      previously we'd look left for a quote, then right. if there was no
      matching quote to the right, we gave up. the improved function will
      continue at this point by looking right first, then left.
      65b27ad9
  7. Apr 30, 2023
    • Adam Saponara's avatar
      simplify syntax highlighting code · 7231152c
      Adam Saponara authored
      this is a rewrite of the syntax highlighting code. overall it's a
      salmon-colored patch (deleted more than added), the code is easier to
      follow, and it fixes some long-standing bugs.
      
      as noted in the readme, there was a bug involving overlapping rules.
      the most annoying instance of this bug was with strings containing a
      `/*` such as in glob patterns. for example:
      
      ```
      "match/this/path/*"
      ```
      
      with `syn_generic` applied, we used to interpret `/*` as the
      beginning of a multi-line comment, and therefore the rest of the file
      (or until there happened to be a closing `*/` somewhere). this
      bothered me for a very long time.
      
      this bug was due to how we used to apply rules. each rule would get
      applied one after the other, each from the beginning of the line. the
      last rule to style any given span of text superseded any previous
      rules that matched.
      
      in the rewrite, once a rule matches a span of text, we don't try to
      style that span anymore (until the text is edited of course).
      
      the one downside is that this seems to be slightly less performant.
      on my machine, applying `syn_generic` is about 5% slower, but it's
      still generally fast enough that you'd only start to notice the
      difference if you were opening massive files, tens or hundreds of
      megabytes large, with syntax highlighting on. a memo field was added
      (`smemo_t`) which drastically improved perf. there are probably
      further perf optimizations to be had.
      
      i added a couple more functional tests, on top of the existing ones,
      to exercise some edge cases of syntax highlighting. as always please
      report bugs if you find any.
      7231152c
  8. Apr 21, 2023
  9. Apr 18, 2023
  10. Apr 16, 2023
  11. Apr 15, 2023
  12. Apr 09, 2023
  13. Apr 03, 2023
  14. Mar 27, 2023
  15. Mar 26, 2023
  16. Oct 03, 2022
  17. Sep 27, 2022
  18. Sep 19, 2022
  19. Sep 05, 2022
  20. Aug 28, 2022
    • Adam Saponara's avatar
      avoid chdir in cmd_browse (#43) · 32530702
      Adam Saponara authored
      instead of `chdir`ing the entire editor process, this patch maintains
      a `browse_path` string that we `cd` into (as part of the forked shell
      process) before executing `tree`. this should fix the bug
      @kevinsjoberg reported without changing the behavior of `cmd_browse`.
      32530702
  21. Aug 05, 2022