Commit Graph

192 Commits

Author SHA1 Message Date
Kinneyzhang
4da2729a47 bound variable when set with reactive variable 2025-12-28 16:09:32 +08:00
Kinneyzhang
c5325844eb improve code 2025-12-25 01:30:13 +08:00
Kinneyzhang
7fd38e451e improve code 2025-12-24 22:01:07 +08:00
copilot-swe-agent[bot]
7302795530 Convert tp-define-layer and tp-define-layer-group to functions with quoted args
- Convert tp-define-layer from macro to function that accepts evaluated args
- Add define-tp macro wrapper for convenient syntax
- Convert tp-define-layer-group from macro to function that accepts evaluated args
- Add define-tp-group macro wrapper for convenient syntax
- Update all tests to use new quoted format

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-21 02:16:45 +00:00
copilot-swe-agent[bot]
6d34267f1c Address code review feedback: improve comments and test cleanup
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 14:52:05 +00:00
copilot-swe-agent[bot]
d176d2e7cb Fix re-definition of tp layers to properly update :props, :data, :compute, and :watcher
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 14:47:52 +00:00
copilot-swe-agent[bot]
7b4c2a0e63 Fix tp-name property being incorrectly set for layer names in string form
When calling (tp-set str 'layer-name), the layer name symbol was wrapped
in a list by tp--parse-args. tp--resolve-props then incorrectly treated
this single-element list as a plist and generated an anonymous tp-anon-X
name instead of using the actual layer name.

The fix adds detection in tp--resolve-props for single-element lists
containing a defined layer/group name symbol, and correctly resolves
them by recursing with just the symbol.

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 14:01:01 +00:00
Kinneyzhang
73bc2df78e improve code 2025-12-20 21:51:32 +08:00
copilot-swe-agent[bot]
b2ac7eac15 Refactor: Extract duplicated lambda into named function with documentation
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 13:06:50 +00:00
copilot-swe-agent[bot]
08e7dfc728 Optimize reactive text property updates: only update relevant buffers
1. When using setq-local, only update the current buffer
2. When using setq, update all buffers that have the text property

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 13:05:28 +00:00
Kinneyzhang
250a51ea22 improve code 2025-12-20 20:59:18 +08:00
copilot-swe-agent[bot]
be3cc6c147 feat: :data supports initial values with cons cell format
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 11:08:37 +00:00
copilot-swe-agent[bot]
ac0e163e66 fix: :data variables now trigger computed value updates via setq-local
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 11:00:22 +00:00
copilot-swe-agent[bot]
36c0a60f3f refactor: redesign :compute to compute reactive variable values, add :data support
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 09:30:17 +00:00
copilot-swe-agent[bot]
33f3ec3d7a refactor: address code review feedback - fix error message and extract helper function
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 08:45:52 +00:00
copilot-swe-agent[bot]
7dad0f1789 feat: add :watch and :compute support for tp-define-layer and tp-define-layer-group
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 08:42:48 +00:00
Kinneyzhang
77dfd030d0 improve code 2025-12-20 16:12:46 +08:00
copilot-swe-agent[bot]
0dba4d2a07 fix: Address code review feedback
- Remove duplicate tp--resolve-reactive-symbols call (use resolved-props instead)
- Simplify tp--generate-anonymous-layer-name to use counter only

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 07:53:14 +00:00
copilot-swe-agent[bot]
56733e7473 feat: Support anonymous reactive layers with auto-generated tp-name
- Add tp--generate-anonymous-layer-name to create unique layer names (tp-anon-*)
- Update tp--resolve-props to handle anonymous plists:
  - If plist has reactive variables ($...), generate tp-name and register dependencies
  - All anonymous plists now get a tp-name for reactive support
- Update tp--parse-args to process all props through tp--resolve-props
- Update tp--ensure-props to handle plists with reactive variables
- Add tests for anonymous reactive layers with tp-set, tp-match-set, tp-regexp-set

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 07:51:27 +00:00
copilot-swe-agent[bot]
736cfc59d9 fix: Preserve tp-name and tp-layers when setting properties with layer/group names
- tp--resolve-props now uses tp-layer-props (includes tp-name) for layers
- For groups, uses tp--build-layer-props to include tp-layers structure
- Updated tests to verify tp-name and tp-layers are preserved
- Added new test for groups with multiple layers

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 07:34:54 +00:00
copilot-swe-agent[bot]
f775d761bf refactor: Address code review feedback
- Add tp--ensure-props helper to reduce code duplication
- Add nil check for group's first layer in tp--resolve-props
- Improve comments in tp--parse-args to explain the unwrapping logic

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 07:20:45 +00:00
copilot-swe-agent[bot]
8e9b480d4c feat: Allow text property APIs to accept layer/group names defined by define-tp/define-tp-group
- Add tp--resolve-props helper function to resolve layer/group names to property lists
- Modify tp--parse-args to handle layer name symbols for tp-set, tp-reset, tp-add
- Update tp-match-set, tp-match-reset, tp-match-add to accept layer names
- Update tp-regexp-set, tp-regexp-reset, tp-regexp-add to accept layer names
- Update docstrings to document the new functionality
- Add comprehensive tests for all affected functions

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 07:18:15 +00:00
copilot-swe-agent[bot]
7667d1a139 Extract only reactive sub-properties for minimal incremental updates
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 06:50:39 +00:00
copilot-swe-agent[bot]
c22b596883 Simplify reactive deps: remove tp-layer-templates, store only reactive props
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 06:36:01 +00:00
copilot-swe-agent[bot]
072b1b3d7d Address code review: fix duplicate deps, iteration safety, improve docs
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 04:56:24 +00:00
copilot-swe-agent[bot]
1c7e37629b Implement reactive text properties feature with $-prefixed variables
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 04:53:35 +00:00
copilot-swe-agent[bot]
e2e440d45a Address code review: improve docstrings to clarify clamping behavior
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-18 03:07:40 +00:00
copilot-swe-agent[bot]
cc98ac4ed8 Add tp-move-layer function and refactor layer switching functions to use it
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-18 03:05:44 +00:00
Kinneyzhang
22ee512632 add define-tp && define-tp-group 2025-12-18 10:47:40 +08:00
copilot-swe-agent[bot]
ff96cf25af Address code review feedback: improve format validation and fix index increment logic
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-17 16:10:49 +00:00
copilot-swe-agent[bot]
b6f3f87925 Separate tp-define-layer and tp-define-layer-group macros
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-17 16:08:10 +00:00
Kinneyzhang
ca63866018 misc 2025-12-17 23:38:50 +08:00
copilot-swe-agent[bot]
8c068fb4a8 Refactor tp-search-map, tp-forward-do, tp-backward-do function signatures
- Updated tp-search-map signature to (function property &optional value object start end)
- Updated tp-forward-do signature to (function property &optional value object times start end)
- Updated tp-backward-do signature to (function property &optional value object times start end)
- Function callback for tp-search-map now accepts (text &optional start end idx)
- Function callback for tp-forward-do/tp-backward-do now accepts (text &optional start end)
- Updated internal helper functions tp--search-do, tp--forward-do, tp--backward-do
- Added new tests for the updated APIs
- Updated documentation in README.md and README_CN.md with examples

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-17 09:14:15 +00:00
copilot-swe-agent[bot]
7f8e5f8487 Remove commented-out code from old implementation
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-16 04:07:45 +00:00
copilot-swe-agent[bot]
b85026b3d4 Fix tp--backward-do docstring to match implementation (last match only)
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-16 04:05:56 +00:00
copilot-swe-agent[bot]
47b6505d51 Update tp-forward-do/tp-backward-do docs and tests for "last match only" behavior
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-16 04:01:57 +00:00
Kinneyzhang
a2dd3ed620 fix bugs on tp--forward/backward-do: apply function only at the last match 2025-12-16 11:46:10 +08:00
copilot-swe-agent[bot]
33ca6b520a Fix tp-forward-do / tp-backward-do to execute function on all matches
Remove erroneous `t` predicate argument from tp-search-forward calls
that caused text-property-search-forward to find regions where the
property value CHANGES rather than regions where the property is SET.

Fixes issue: tp-forward-do / tp-backward-do 只在最后一次执行 function

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 17:00:09 +00:00
copilot-swe-agent[bot]
ccea4118de Fix plist parsing logic in tp-add-to-layers and tp-add-to-all-layers
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 16:31:17 +00:00
copilot-swe-agent[bot]
3e4809f44d Add tp-add-to-layers and tp-add-to-all-layers functions with tests
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 16:27:09 +00:00
copilot-swe-agent[bot]
2ef39fb79e Add optional start/end parameters to tp-forward-do and tp-backward-do
The function parameter now supports optional second and third arguments:
- (function text) - backward compatible with existing code
- (function text start) - receives match start position
- (function text start end) - receives both start and end positions

This uses func-arity to detect how many arguments the function accepts
and passes the appropriate parameters.

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 16:06:16 +00:00
copilot-swe-agent[bot]
9957bd89ef Fix func-arity check to handle variadic functions
Handle the case where max arity is 'many' (unlimited) for
variadic functions, in addition to numeric max arity.

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 15:31:17 +00:00
copilot-swe-agent[bot]
e88337ff1f Add optional idx parameter support to tp-search-map function
The FUNCTION parameter in tp-search-map can now optionally accept a
second argument representing the 0-based index of the current match.
This is backwards compatible - functions that only accept one argument
continue to work as before.

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 15:27:33 +00:00
copilot-swe-agent[bot]
ca6ec75aab Remove tp--parse-match-args and update match/regexp APIs to (PATTERN PLIST &optional OBJECT)
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 15:05:07 +00:00
Kinneyzhang
c8383cb462 update readme 2025-12-15 22:46:21 +08:00
copilot-swe-agent[bot]
95c3d79f4b Add input validation for OBJECT parameter in tp--parse-match-args
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 13:26:42 +00:00
copilot-swe-agent[bot]
c3ba26872a Simplify pattern matching API to (PATTERN PLIST &optional OBJECT) format
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 13:24:31 +00:00
copilot-swe-agent[bot]
a3b531177e Fix tp-match and tp-regexp APIs to support multiple patterns as list
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 12:59:28 +00:00
copilot-swe-agent[bot]
091b4fa15f Remove tp-set-face/tp-set-display, rename tp-match to tp-match-set, tp-regexp to tp-regexp-set
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 12:32:56 +00:00
Kinneyzhang
79713ad62b fix bugs on tp-forward/backward 2025-12-15 19:01:33 +08:00
copilot-swe-agent[bot]
35d570f021 Update tp-forward-do, tp-backward-do with point parameter and extend tp-at
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 10:33:39 +00:00
copilot-swe-agent[bot]
2128f78509 Fix tp-search-map to properly copy text properties for strings
store-substring only copies text content, not properties.
Added explicit property copying after store-substring to ensure
both text content and property modifications are applied.

Also updated tp-forward-do and tp-backward-do with the same fix.
Added test for property modification via tp-search-map.

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 09:42:11 +00:00
copilot-swe-agent[bot]
798c88e559 Add documentation for string replacement length limitation
Documented that for string objects, the replacement text must have the
same length as the original matched text due to store-substring limitations.

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 09:03:15 +00:00
copilot-swe-agent[bot]
0b0bfedc6b Refactor tp-forward/backward and tp-search-do API
- tp-forward and tp-backward now support string objects
- Renamed tp-forward-do to tp--forward-do (private) with string support
- Renamed tp-backward-do to tp--backward-do (private) with string support
- New public tp-forward-do and tp-backward-do: function receives matched text only
- Renamed tp-search-do to tp--search-do (private)
- New public tp-search-map: function receives matched text only
- Updated English and Chinese documentation
- Updated and added tests for all new functionality

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 09:00:13 +00:00
Kinneyzhang
a41ad171a0 format 2025-12-15 16:20:51 +08:00
copilot-swe-agent[bot]
bca7d4a41c Reorganize tp.el code to match API Quick Reference order
Functions are now organized in the following order:
1. Core Property Functions: tp-set, tp-reset, tp-add, tp-set-face, tp-set-display, tp-get, tp-at, tp-remove, tp-clear
2. Pattern Matching Functions: tp-match, tp-match-reset, tp-match-add, tp-regexp, tp-regexp-reset, tp-regexp-add
3. Search & Navigation Functions: tp-search-forward, tp-search-backward, tp-forward, tp-backward, tp-forward-do, tp-backward-do, tp-search, tp-search-do
4. Query Functions: tp-intervals, tp-empty-p, tp-plist
5. Layer Definition Functions: tp-define-layer, tp-layer-props, tp-group-props, tp-layer-undefine, tp-group-undefine, tp-layer-reset
6. Layer Placement Functions: tp-put-layer, tp-push-layer
7. Layer Deletion Functions: tp-delete-layer, tp-pop-layer
8. Layer Movement Functions: tp-raise-layer, tp-rotate-layer, tp-pin-layer, tp-switch-layer
9. Layer Merging Functions: tp-merge-layers, tp-flatten-layers
10. Layer Query Functions: tp-layer-list, tp-layer-count, tp-layer-exists-p, tp-layer-top

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 08:08:59 +00:00
copilot-swe-agent[bot]
ad6ec58305 Fix code review issues: use with-current-buffer, fix documentation, improve property detection
- Use with-current-buffer instead of set-buffer in tp-forward and tp-backward
- Fix tp-search documentation to correctly describe return type as list of (START END VALUE)
- Improve property detection in tp-search to handle falsy property values (0, nil, empty string)

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 07:38:20 +00:00
copilot-swe-agent[bot]
11e6201bc1 Implement new text property search and navigation functions
- Modified tp-empty-p to support optional OBJECT parameter (nil = current buffer)
- Modified tp-plist to support two formats: (tp-plist start end &optional OBJECT) and (tp-plist string)
- Added tp-forward and tp-backward with new API (property &optional value object n)
- Added tp-forward-do and tp-backward-do for applying functions to matches
- Added tp-search for searching all matching properties in range or string
- Added tp-search-do for executing function on all matches
- Updated documentation (README.md and README_CN.md)
- Updated test cases (tp-tests.el)
- Removed obsolete function references (tp-next, tp-prev, tp-goto-next, tp-goto-prev, tp-in, tp-all, tp-regions-map, tp-strings-map)

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 07:35:41 +00:00
Kinneyzhang
7357ac120f delete unused code 2025-12-15 15:24:08 +08:00
Kinneyzhang
d748534bd9 delete unused code 2025-12-15 12:00:34 +08:00
Kinneyzhang
6bcc0b5c8d delete unused code 2025-12-15 11:07:49 +08:00
copilot-swe-agent[bot]
9ed2aafe23 Address code review feedback: clarify private function comment
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 02:56:24 +00:00
copilot-swe-agent[bot]
62b5e47548 Remove internal APIs from public interface, delete tp-remove-list, fix tp-remove nested sub-property bug, add links in API Quick Reference
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-15 02:53:58 +00:00
Kinneyzhang
02d1875330 update test and readme 2025-12-15 00:44:50 +08:00
copilot-swe-agent[bot]
f02a3d6ace Address code review: add seq require and improve nil checks
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-14 16:24:36 +00:00
copilot-swe-agent[bot]
808fa94214 Refactor tp layer API to new specification, remove old API
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-14 16:17:29 +00:00
copilot-swe-agent[bot]
dbd790d0fd Start implementing new layer API, removing old compatibility
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-14 16:06:57 +00:00
copilot-swe-agent[bot]
52999a2807 Fix tp--get-nested to handle face values with symbol prefix like (shadow :foreground ...)
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-14 15:37:47 +00:00
copilot-swe-agent[bot]
85c8c5365b Remove unnecessary reverse in multiple key extraction
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-14 15:27:35 +00:00
copilot-swe-agent[bot]
3f7f8cd9b9 Add support for deeply nested sub-properties and multiple key extraction in tp-get
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-14 15:25:53 +00:00
copilot-swe-agent[bot]
b31077e486 Fix tp-get to return intervals for entire strings and support property path lists
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-14 15:15:12 +00:00
copilot-swe-agent[bot]
932585da3f Fix tp-get to return intervals and tp-match/tp-regexp string parsing
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-14 13:50:45 +00:00
copilot-swe-agent[bot]
13b73b1dbc Address code review feedback: improve docstrings and comments
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-14 13:09:52 +00:00
copilot-swe-agent[bot]
5994ce3a2a Fix tp-add face prepending, tp-remove and tp-get string support, update docs
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-14 13:06:08 +00:00
copilot-swe-agent[bot]
39c1c6333b Refactor: Extract helper functions to reduce code duplication in match/regexp functions and single-property setters
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-14 11:42:07 +00:00
copilot-swe-agent[bot]
58daa712db Implement new tp.el API: tp-reset, tp-set, tp-set-face, tp-set-display, tp-add, tp-match-reset, tp-match-add, tp-regexp-reset, tp-regexp-add, enhanced tp-get and tp-remove with nested sub-property support
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-14 11:37:42 +00:00
copilot-swe-agent[bot]
243904f490 Improve tp-put parameter naming for clarity
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-13 10:04:41 +00:00
copilot-swe-agent[bot]
c285fb20eb Add enhanced tp-get with range support and fine-grained property functions
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-13 10:02:54 +00:00
copilot-swe-agent[bot]
2fce83315b Update tp-put API and tests to new format
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-13 09:59:27 +00:00
copilot-swe-agent[bot]
519a5ec42f Improve zero-width match handling in tp-match and tp-regexp
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-12 03:39:26 +00:00
copilot-swe-agent[bot]
a34c1ee625 Fix code review issues: infinite loop prevention and consistent return values
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-12 03:37:30 +00:00
copilot-swe-agent[bot]
73f65e294b Optimize function naming and add object parameter support
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-12 03:34:13 +00:00
copilot-swe-agent[bot]
99f50d4fee Shorten function names for clarity: tp-group-* and tp-layer-props
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-11 03:16:09 +00:00
copilot-swe-agent[bot]
7614916aca Update Emacs version requirement to 28.1+ for object-intervals support
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-11 02:45:55 +00:00
copilot-swe-agent[bot]
d1428a0748 Optimize and extend tp.el with layer system and text property functions
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-11 02:42:53 +00:00
Kinneyzhang
cea0e3b6b3 update 2025-10-23 01:29:04 +08:00
Kinneyzhang
d4efd44aa0 update 2025-10-16 12:56:13 +08:00
Kinneyzhang
48e9eb9c01 update 2025-10-16 00:01:52 +08:00
Kinneyzhang
7dbdc89541 update 2025-10-13 20:58:11 +08:00
Kinneyzhang
b23967c359 add readme 2025-10-13 13:02:54 +08:00
Kinneyzhang
bfc007e5d3 add search functions 2025-10-13 12:57:47 +08:00
Kinneyzhang
9fd5ba552f first commit 2025-10-13 00:15:18 +08:00