Commit Graph

344 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
e9cb90cce7 Support parameterized and non-parameterized define-tp layers in tp-push-layer/tp-put-layer
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 18:39:10 +00:00
copilot-swe-agent[bot]
aafbeff1a4 Remove tp-name from direct property setting, keep for layer stack and reactive
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 18:19:21 +00:00
copilot-swe-agent[bot]
42c436494f Consolidate tp-layer-params into tp-layer-alist with unified structure
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 17:48:12 +00:00
copilot-swe-agent[bot]
c701a1ca75 Support layer properties at any position in plist
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 17:26:32 +00:00
copilot-swe-agent[bot]
e4729668ed Fix: support mixing layer properties with native text properties
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 17:11:34 +00:00
copilot-swe-agent[bot]
31ccbb6924 Address code review comments: improve comments clarity
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 16:44:20 +00:00
copilot-swe-agent[bot]
a24bd264c1 Update define-tp format: use empty arglist () for non-parameterized layers
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 16:42:25 +00:00
copilot-swe-agent[bot]
0b44d1f57b Add parameterized define-tp format and new usage syntax
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 16:35:42 +00:00
copilot-swe-agent[bot]
967f69ad97 Initial plan 2025-12-28 16:22:39 +00:00
Geekinney
3e8ca76023
Merge pull request #42 from Kinneyzhang/copilot/update-docs-responsive-text
Add English reactive text properties guide and link docs from READMEs
2025-12-28 19:20:00 +08:00
copilot-swe-agent[bot]
11db0e3c04 Add English reactive text properties guide and link to detailed docs in both READMEs
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 11:01:35 +00:00
copilot-swe-agent[bot]
01d86bd516 Initial plan 2025-12-28 10:57:32 +00:00
Geekinney
0052467c27
Merge pull request #41 from Kinneyzhang/copilot/optimize-tp-text-attribute
Fix tp-text reactive variable synchronization when initial value is nil
2025-12-28 18:47:09 +08:00
copilot-swe-agent[bot]
09a2294629 Clean up duplicate entry in .gitignore
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 10:32:18 +00:00
copilot-swe-agent[bot]
fefe5873ed Address code review feedback: use helper function for layer props update
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 10:31:31 +00:00
copilot-swe-agent[bot]
094f8f0f88 Fix tp-text reactive variable synchronization when initial value is nil
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 10:29:03 +00:00
copilot-swe-agent[bot]
842482245b Initial plan 2025-12-28 10:22:37 +00:00
Kinneyzhang
2156d1083a improve code 2025-12-28 18:19:15 +08:00
Kinneyzhang
bb7b1b2962 Merge remote-tracking branch 'origin/copilot/optimize-tp-el-code-structure' 2025-12-28 18:15:36 +08:00
Kinneyzhang
5562ef98ad improve code 2025-12-28 18:15:34 +08:00
copilot-swe-agent[bot]
121662dee8 Clean up section headers for consistency
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 10:09:55 +00:00
copilot-swe-agent[bot]
868ba038d9 Reorganize tp.el with clear section headers and add ARCHITECTURE.md
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 10:07:16 +00:00
copilot-swe-agent[bot]
4de9046a3e Initial plan 2025-12-28 09:55:28 +00:00
Kinneyzhang
e0a56f7475 improve code 2025-12-28 17:53:26 +08:00
Kinneyzhang
e52a9e8cd8 improve code 2025-12-28 17:51:13 +08:00
copilot-swe-agent[bot]
5d514011d1 Fix tp-text to replace string content instead of preserving original
When using tp-set on a string with tp-text, the returned string now
contains the tp-text value instead of the original string content.
For example, (tp-set "2" 'tp-text "6") now returns "6" with properties.

- Updated tp--handle-tp-text-property to return new string object
- Updated tp-set, tp-reset, tp-add to handle the new return format
- Added test for string object tp-text replacement

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 09:49:52 +00:00
copilot-swe-agent[bot]
af5ba6b214 Refactor tp-text handling to improve code reuse and clarity
- Updated tp--handle-tp-text-property to accept preserve-props parameter
- Replaced inefficient nth-based loop with cl-loop in tp-set
- Fixed loop structure in tp--replace-reactive-text-in-buffer
- Made tp-reset use the helper function instead of duplicated code

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 09:15:45 +00:00
copilot-swe-agent[bot]
d75070824a Implement tp-text reactive text feature and optimize non-reactive property handling
- Modified tp--resolve-props to not add tp-name for non-reactive plists
- Added tp-text property support for reactive text content
- Created tp--handle-tp-text-property helper for code reuse
- Added tp--update-reactive-text and tp--replace-reactive-text-in-buffer
- Updated tp-set, tp-reset, tp-add to handle tp-text property
- Added comprehensive tests for tp-text functionality
- Updated documentation with reactive text examples

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-28 09:12:27 +00:00
copilot-swe-agent[bot]
31f08e83f3 Initial plan 2025-12-28 08:54:25 +00:00
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
copilot-swe-agent[bot]
bd6110d182 Fix code review feedback: indentation and link text improvements
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-24 14:15:58 +00:00
copilot-swe-agent[bot]
fd33c4993e Add comprehensive documentation for reactive text properties feature
Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-24 14:12:34 +00:00
copilot-swe-agent[bot]
202d74dae5 Initial plan 2025-12-24 14:02:00 +00:00
Kinneyzhang
7fd38e451e improve code 2025-12-24 22:01:07 +08:00
copilot-swe-agent[bot]
104b5b1d5c Update documentation to use quoted format for define-tp and define-tp-group
- Update README.md with new quoted format examples
- Update README_CN.md with new quoted format examples
- Simplify format descriptions (merged Format 2 and 3 into one)

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-21 02:25:20 +00: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]
cedacc6b20 Initial plan 2025-12-21 02:05:15 +00:00
Kinneyzhang
6cb46fe1c6 Merge remote-tracking branch 'origin/copilot/update-define-tp-functionality' 2025-12-20 22:55:35 +08:00
Kinneyzhang
477e9bf0e9 fix bugs on tp-tests.el 2025-12-20 22:55:30 +08: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]
e90aa03806 Initial plan 2025-12-20 14:39:26 +00:00
copilot-swe-agent[bot]
7d88744f85 Update documentation: tp-set entire-string form now supports layer names
Updated both English and Chinese documentation to reflect that
when setting text properties on an entire string, it now supports
not only flat properties (PROPERTY VALUE ...) but also layer names
defined by tp-define-layer or tp-define-layer-group.

Co-authored-by: Kinneyzhang <38454496+Kinneyzhang@users.noreply.github.com>
2025-12-20 14:10:42 +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
copilot-swe-agent[bot]
ab460db3d0 Initial plan 2025-12-20 13:51:55 +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
copilot-swe-agent[bot]
a32abe5101 Initial plan 2025-12-20 12:59:51 +00:00