perf(textarea): implement wrapping memoization

* Improve textarea performance by caching the wrap results

* Add memoization utility

* Fix failing github jobs due to requirement for 1.18

* Address linting issues

* Fix redundant docstrings

* fix: minor changes to memoization

* fix: soft-wrapped hidden line numbers

* perf: switch to `uniseg.StringWidth`

---------

Co-authored-by: Maas Lalani <maas@lalani.dev>
This commit is contained in:
Manuel Odendahl
2024-01-22 13:30:34 -05:00
committed by GitHub
co-authored by Maas Lalani
parent ec883029c8
commit 6fe92f94b5
9 changed files with 426 additions and 52 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ jobs:
test:
strategy:
matrix:
go-version: [~1.17, ^1]
go-version: [~1.18, ^1]
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
env:
+1 -1
View File
@@ -5,7 +5,7 @@ jobs:
coverage:
strategy:
matrix:
go-version: [^1]
go-version: [^1.18]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
env:
+1 -1
View File
@@ -16,7 +16,7 @@ jobs:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ^1
go-version: ^1.18
- uses: actions/checkout@v4
- name: golangci-lint
+1 -1
View File
@@ -16,7 +16,7 @@ jobs:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ^1
go-version: ^1.18
- uses: actions/checkout@v4
- name: golangci-lint