Skip to content
Draft
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
a654b31
Add tree-sitter based syntax highlighting for 22 languages
Thorium Mar 26, 2026
f7d2436
Add tree-sitter grammar build scripts
Thorium Mar 26, 2026
d79ee42
Add locals.scm and injections.scm support to tree-sitter integration
Thorium Mar 27, 2026
4957c39
Merge remote-tracking branch 'Thorium/tree-sitter' into feature/tree-…
sdottaka Mar 28, 2026
22e7ede
Add tree-sitter to solution and fix grammar extraction script
sdottaka Mar 28, 2026
f513bee
Feature/tree sitter (#3283)
Thorium Mar 28, 2026
74a5097
Merge branch 'master' into feature/tree-sitter
sdottaka Mar 29, 2026
2c80265
Merge branch 'master' into feature/tree-sitter
sdottaka Apr 5, 2026
72a646f
Vendor tree-sitter instead of using it as a git submodule
sdottaka Apr 6, 2026
223ba0b
Merge branch 'master' into feature/tree-sitter
sdottaka Apr 11, 2026
4f59248
WIP
sdottaka Apr 12, 2026
0693a3c
Stabilize tree-sitter highlight precedence (#3337)
Thorium Apr 23, 2026
cc8d3d6
Tree-sitter runtime integration for compare views (#3338)
Thorium Apr 25, 2026
675350d
Merge branch 'master' into feature/tree-sitter
sdottaka Apr 29, 2026
efbf6dc
Moved TreeSitter* from the editlib project to editlibparser. UnitTest…
sdottaka Apr 29, 2026
7c99c6a
Fix tree-sitter go to definition from context menus (#3350)
Thorium Apr 30, 2026
c139c4b
Merge branch 'master' into feature/tree-sitter
sdottaka May 30, 2026
780fa0c
Fix build for UnitTests and FolderCompare projects (tests still failing)
sdottaka May 30, 2026
18049cc
Merge branch 'master' into feature/tree-sitter
sdottaka May 30, 2026
7157ee2
Update Italian/Filters.xml
sdottaka May 30, 2026
68b5e20
Decouple tree-sitter parser from UndoRecord using TextEdit abstraction
sdottaka May 30, 2026
ac78256
Move tree-sitter implementation from CrystalEdit to WinMerge
sdottaka May 30, 2026
53b3e0a
Refactor CTreeSitterParser to remove m_pBuffer member for stateless d…
sdottaka May 31, 2026
5096704
Fix RunFileDiff_IgnoreComments test failure
sdottaka May 31, 2026
f8f92a8
Fix duplicate highlights for overlapping Tree-sitter captures
sdottaka May 31, 2026
c56cb0b
WIP
sdottaka May 31, 2026
24d9c66
Merge branch 'master' into feature/tree-sitter-refactor
sdottaka Jun 1, 2026
f3558dc
WIP
sdottaka Jun 1, 2026
e772d56
Refactor: Move brace matching logic to ISynt
sdottaka Jun 1, 2026
bb69991
Refactor: Minimize m_CurSourceDef usage, delegate to m_nCurrentTextType
sdottaka Jun 1, 2026
ad46993
Complete ISyntaxParser migration: Remove m_CurSourceDef from a
sdottaka Jun 1, 2026
a7c1b39
WIP
sdottaka Jun 1, 2026
9ae0463
Merge branch 'master' into feature/tree-sitter-refactor
sdottaka Jun 1, 2026
df75f13
WIP
sdottaka Jun 1, 2026
798e9a0
WIP
sdottaka Jun 2, 2026
5d81ea3
Merge branch 'master' into feature/tree-sitter-refactor
sdottaka Jun 2, 2026
168e05d
WIP
sdottaka Jun 2, 2026
7b4dc85
WIP
sdottaka Jun 2, 2026
7564ce4
WIP
sdottaka Jun 2, 2026
1d319df
WIP
sdottaka Jun 3, 2026
ab28abf
WIP
sdottaka Jun 4, 2026
2a2ed7d
WIP
sdottaka Jun 4, 2026
4f2c759
WIP
sdottaka Jun 4, 2026
05e87e7
WIP
sdottaka Jun 4, 2026
5ea403b
WIP
sdottaka Jun 4, 2026
ddab142
WIP
sdottaka Jun 5, 2026
0a640c6
WIP
sdottaka Jun 5, 2026
63c9988
WIP
sdottaka Jun 7, 2026
6663784
WIP
sdottaka Jun 10, 2026
b4affbe
WIP
sdottaka Jun 10, 2026
df61f5c
Merge branch 'master' into feature/tree-sitter-refactor
sdottaka Jun 10, 2026
7de0396
WIP
sdottaka Jun 10, 2026
4e709da
WIP
sdottaka Jun 10, 2026
94c60d3
WIP
sdottaka Jun 11, 2026
c183215
WIP
sdottaka Jun 11, 2026
4445dc5
WIP
sdottaka Jun 13, 2026
9f3c672
WIP
sdottaka Jun 14, 2026
635c573
Merge remote-tracking branch 'origin/master' into feature/tree-sitter…
sdottaka Jun 14, 2026
48cd249
WIP
sdottaka Jun 14, 2026
3169b20
WIP
sdottaka Jun 14, 2026
8b263fc
WIP
sdottaka Jun 14, 2026
c1935a6
Merge branch 'master' into feature/tree-sitter-refactor
sdottaka Jun 14, 2026
ed666d7
WIP
sdottaka Jun 14, 2026
bea68cd
Merge branch 'master' into feature/tree-sitter-refactor
sdottaka Jun 15, 2026
3409957
WIP
sdottaka Jun 15, 2026
5ab5758
WIP
sdottaka Jun 15, 2026
0106e03
WIP
sdottaka Jun 15, 2026
d2c3bf1
WIP
sdottaka Jun 15, 2026
7544e8b
Merge branch 'master' into feature/tree-sitter-refactor
sdottaka Jun 16, 2026
b4be04d
Update translations
sdottaka Jun 16, 2026
dc46def
WIP
sdottaka Jun 17, 2026
27c8e89
WIP
sdottaka Jun 17, 2026
c0c1384
WIP
sdottaka Jun 17, 2026
34203c1
WIP
sdottaka Jun 17, 2026
fe4cc0f
WIP
sdottaka Jun 18, 2026
660672c
Update codeql-analysis.yml and main.yml
sdottaka Jun 18, 2026
e72a103
WIP
sdottaka Jun 18, 2026
a95d935
WIP
sdottaka Jun 18, 2026
e43a759
WIP
sdottaka Jun 18, 2026
dd8ebe8
WIP
sdottaka Jun 19, 2026
6320593
WIP
sdottaka Jun 19, 2026
7cc34e5
WIP
sdottaka Jun 20, 2026
4391aeb
WIP
sdottaka Jun 20, 2026
b3c30b2
WIP
sdottaka Jun 20, 2026
da4dc71
Merge remote-tracking branch 'origin/master' into feature/tree-sitter…
sdottaka Jun 21, 2026
984bb59
WIP
sdottaka Jun 21, 2026
f1c2f60
WIP
sdottaka Jun 21, 2026
df188bf
WIP
sdottaka Jun 21, 2026
90de982
WIP
sdottaka Jun 21, 2026
b348bbc
WIP
sdottaka Jun 21, 2026
f399848
Merge branch 'master' into feature/tree-sitter
sdottaka Jun 21, 2026
e3853d5
Merge remote-tracking branch 'origin/master' into feature/tree-sitter
sdottaka Jun 21, 2026
12013c5
Temporarily move tree-sitter to a git submodule for Copilot review
sdottaka Jun 21, 2026
e41a2ee
Temporarily move tree-sitter to a git submodule for Copilot review (2)
sdottaka Jun 21, 2026
1975966
WIP
sdottaka Jun 21, 2026
7dcb44f
Revert "Temporarily move tree-sitter to a git submodule for Copilot r…
sdottaka Jun 21, 2026
443d07a
Revert "Temporarily move tree-sitter to a git submodule for Copilot r…
sdottaka Jun 21, 2026
47e90b4
WIP
sdottaka Jun 21, 2026
3089cd9
Fix missing buffer change notifications during undo/redo
sdottaka Jun 22, 2026
b09de3a
Merge branch 'master' into feature/tree-sitter
sdottaka Jun 22, 2026
11e9139
WIP
sdottaka Jun 22, 2026
ec9aacd
A thread-safety issue fixed: TreeSitterRegistry::Initialize/GetLangua…
Thorium Jun 22, 2026
1bd88c4
WIP
sdottaka Jun 22, 2026
2eb13f4
WIP
sdottaka Jun 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 35 additions & 23 deletions ALL.sln
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{0AB2
Externals\winimerge\ExpandEnvironmenStrings.js = Externals\winimerge\ExpandEnvironmenStrings.js
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SampleStatic", "Externals\crystaledit\Sample\SampleStatic.vcxproj", "{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WinIMerge", "WinIMerge", "{0B7E421E-A8CA-444C-B650-D1D7F1D55688}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Frhed", "Frhed", "{97E9C1F1-F87E-4BE6-A66C-6B97DCD80873}"
Expand Down Expand Up @@ -509,6 +507,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Translations", "Translation
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CrashLogger", "Src\CrashLogger\CrashLogger.vcxitems", "{CDEDDAC4-79B9-4A34-A564-8019F60D241F}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tree-sitter", "Externals\crystaledit\editlib\tree-sitter\tree-sitter.vcxitems", "{A3E7E04F-5D2B-4F3A-B725-8F5C4B1E9D3C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SampleStatic", "Externals\crystaledit\Sample\SampleStatic.vcxproj", "{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
Expand Down Expand Up @@ -1140,26 +1142,6 @@ Global
{49A7104F-08CD-48B1-99E6-6A7C3FFB0EEC}.Test|ARM64.ActiveCfg = Debug|ARM64
{49A7104F-08CD-48B1-99E6-6A7C3FFB0EEC}.Test|x64.ActiveCfg = Debug|x64
{49A7104F-08CD-48B1-99E6-6A7C3FFB0EEC}.Test|x86.ActiveCfg = Debug|Win32
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Debug|ARM.ActiveCfg = Debug|ARM
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Debug|ARM.Build.0 = Debug|ARM
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Debug|ARM64.ActiveCfg = Debug|ARM64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Debug|ARM64.Build.0 = Debug|ARM64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Debug|x64.ActiveCfg = Debug|x64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Debug|x64.Build.0 = Debug|x64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Debug|x86.ActiveCfg = Debug|Win32
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Debug|x86.Build.0 = Debug|Win32
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Release|ARM.ActiveCfg = Release|ARM
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Release|ARM.Build.0 = Release|ARM
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Release|ARM64.ActiveCfg = Release|ARM64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Release|ARM64.Build.0 = Release|ARM64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Release|x64.ActiveCfg = Release|x64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Release|x64.Build.0 = Release|x64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Release|x86.ActiveCfg = Release|Win32
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Release|x86.Build.0 = Release|Win32
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Test|ARM.ActiveCfg = Debug|ARM
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Test|ARM64.ActiveCfg = Debug|ARM64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Test|x64.ActiveCfg = Debug|x64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Test|x86.ActiveCfg = Debug|Win32
{139D8239-98B4-4B29-A199-B27CDB8B4708}.Debug|ARM.ActiveCfg = Debug|ARM
{139D8239-98B4-4B29-A199-B27CDB8B4708}.Debug|ARM.Build.0 = Debug|ARM
{139D8239-98B4-4B29-A199-B27CDB8B4708}.Debug|ARM64.ActiveCfg = Debug|ARM64
Expand Down Expand Up @@ -1392,6 +1374,30 @@ Global
{40AF6A7D-B4E7-4919-B38A-75F625E36AF5}.Test|x64.Build.0 = Debug|x64
{40AF6A7D-B4E7-4919-B38A-75F625E36AF5}.Test|x86.ActiveCfg = Debug|Win32
{40AF6A7D-B4E7-4919-B38A-75F625E36AF5}.Test|x86.Build.0 = Debug|Win32
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Debug|ARM.ActiveCfg = Debug|ARM
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Debug|ARM.Build.0 = Debug|ARM
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Debug|ARM64.ActiveCfg = Debug|ARM64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Debug|ARM64.Build.0 = Debug|ARM64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Debug|x64.ActiveCfg = Debug|x64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Debug|x64.Build.0 = Debug|x64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Debug|x86.ActiveCfg = Debug|Win32
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Debug|x86.Build.0 = Debug|Win32
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Release|ARM.ActiveCfg = Release|ARM
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Release|ARM.Build.0 = Release|ARM
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Release|ARM64.ActiveCfg = Release|ARM64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Release|ARM64.Build.0 = Release|ARM64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Release|x64.ActiveCfg = Release|x64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Release|x64.Build.0 = Release|x64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Release|x86.ActiveCfg = Release|Win32
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Release|x86.Build.0 = Release|Win32
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Test|ARM.ActiveCfg = Debug|ARM
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Test|ARM.Build.0 = Debug|ARM
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Test|ARM64.ActiveCfg = Debug|ARM64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Test|ARM64.Build.0 = Debug|ARM64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Test|x64.ActiveCfg = Release|x64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Test|x64.Build.0 = Release|x64
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Test|x86.ActiveCfg = Debug|Win32
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}.Test|x86.Build.0 = Debug|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down Expand Up @@ -1430,7 +1436,6 @@ Global
{49A7104F-08CD-48B1-99E6-6A7C3FFB0EEC} = {0B7E421E-A8CA-444C-B650-D1D7F1D55688}
{A9E83C9D-8AD6-4C87-888D-3F91B5656CD1} = {0B7E421E-A8CA-444C-B650-D1D7F1D55688}
{0AB212AD-1F11-4BAB-BAD5-8BFC4435F453} = {A9E83C9D-8AD6-4C87-888D-3F91B5656CD1}
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD} = {6BBF0DEA-C0B8-4B73-B540-3BF8297B49B4}
{0B7E421E-A8CA-444C-B650-D1D7F1D55688} = {CE514278-A13F-4F6A-93EB-5653410AC214}
{97E9C1F1-F87E-4BE6-A66C-6B97DCD80873} = {CE514278-A13F-4F6A-93EB-5653410AC214}
{6BBF0DEA-C0B8-4B73-B540-3BF8297B49B4} = {CE514278-A13F-4F6A-93EB-5653410AC214}
Expand Down Expand Up @@ -1479,6 +1484,8 @@ Global
{DAFD8D9E-6509-4482-A533-44C843C3BCC7} = {220B870C-D051-463E-997B-8C392081EE15}
{40AF6A7D-B4E7-4919-B38A-75F625E36AF5} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
{02828B8D-E4B9-41FE-84C4-D5CDA7761627} = {5360DC20-6552-4F74-8D4D-BF88B23E0B3A}
{A3E7E04F-5D2B-4F3A-B725-8F5C4B1E9D3C} = {6BBF0DEA-C0B8-4B73-B540-3BF8297B49B4}
{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD} = {6BBF0DEA-C0B8-4B73-B540-3BF8297B49B4}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {CC2E4F75-FADC-4F44-BD62-47A321828081}
Expand All @@ -1491,6 +1498,7 @@ Global
Externals\crystaledit\editlib\editlibparsers.vcxitems*{4170552a-09e2-4fac-b71d-0e2f5eb3c869}*SharedItemsImports = 9
Externals\xdiff\xdiff.vcxitems*{68f1d3a1-9dca-4b3d-b245-f4aca5f16563}*SharedItemsImports = 9
Externals\crystaledit\editlib\editlibparsers.vcxitems*{733e7c0b-ac3d-47ac-a8da-e13644d6294d}*SharedItemsImports = 4
Externals\crystaledit\editlib\tree-sitter\tree-sitter.vcxitems*{733e7c0b-ac3d-47ac-a8da-e13644d6294d}*SharedItemsImports = 4
Externals\googletest\googletest\googletest.vcxitems*{733e7c0b-ac3d-47ac-a8da-e13644d6294d}*SharedItemsImports = 4
Externals\poco\Foundation\Foundation.vcxitems*{733e7c0b-ac3d-47ac-a8da-e13644d6294d}*SharedItemsImports = 4
Externals\poco\XML\XML.vcxitems*{733e7c0b-ac3d-47ac-a8da-e13644d6294d}*SharedItemsImports = 4
Expand All @@ -1504,16 +1512,19 @@ Global
Externals\googletest\googletest\googletest.vcxitems*{9ee35458-b145-444f-92b7-27ff72112c42}*SharedItemsImports = 9
Externals\crystaledit\editlib\editlib.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Externals\crystaledit\editlib\editlibparsers.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Externals\crystaledit\editlib\tree-sitter\tree-sitter.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Externals\poco\Foundation\Foundation.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Externals\poco\XML\XML.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Externals\xdiff\xdiff.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Src\CompareEngines\CompareEngines.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Src\CrashLogger\CrashLogger.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Src\diffutils\diffutils.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Src\FilterEngine\FilterEngine.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Externals\crystaledit\editlib\tree-sitter\tree-sitter.vcxitems*{a3e7e04f-5d2b-4f3a-b725-8f5c4b1e9d3c}*SharedItemsImports = 9
Plugins\src_VCPP\Common\Common.vcxitems*{a644fba4-d76e-4500-b4b7-04d7a245359a}*SharedItemsImports = 4
Plugins\src_VCPP\Common\Common.vcxitems*{aa88b46e-b2e2-4b03-8cd5-1e9d60db6ab2}*SharedItemsImports = 4
Externals\crystaledit\editlib\editlibparsers.vcxitems*{ab827c6b-5116-408f-b453-e2075e9b73b4}*SharedItemsImports = 4
Externals\crystaledit\editlib\tree-sitter\tree-sitter.vcxitems*{ab827c6b-5116-408f-b453-e2075e9b73b4}*SharedItemsImports = 4
Externals\poco\Foundation\Foundation.vcxitems*{ab827c6b-5116-408f-b453-e2075e9b73b4}*SharedItemsImports = 4
Externals\poco\XML\XML.vcxitems*{ab827c6b-5116-408f-b453-e2075e9b73b4}*SharedItemsImports = 4
Externals\xdiff\xdiff.vcxitems*{ab827c6b-5116-408f-b453-e2075e9b73b4}*SharedItemsImports = 4
Expand All @@ -1526,6 +1537,7 @@ Global
Plugins\src_VCPP\Common\Common.vcxitems*{bd0c5fe1-8457-49c2-8801-0c99a6e6cc03}*SharedItemsImports = 4
Externals\crystaledit\editlib\editlib.vcxitems*{c347d6ae-7a2b-4ed0-97ad-2595e1c5d7dd}*SharedItemsImports = 4
Externals\crystaledit\editlib\editlibparsers.vcxitems*{c347d6ae-7a2b-4ed0-97ad-2595e1c5d7dd}*SharedItemsImports = 4
Externals\crystaledit\editlib\tree-sitter\tree-sitter.vcxitems*{c347d6ae-7a2b-4ed0-97ad-2595e1c5d7dd}*SharedItemsImports = 4
Src\CrashLogger\CrashLogger.vcxitems*{cdeddac4-79b9-4a34-a564-8019f60d241f}*SharedItemsImports = 9
Externals\poco\XML\XML.vcxitems*{dafd8d9e-6509-4482-a533-44c843c3bcc7}*SharedItemsImports = 9
Src\diffutils\diffutils.vcxitems*{fc3b9df3-2854-4264-ab4b-ee8c43982513}*SharedItemsImports = 9
Expand Down
10 changes: 8 additions & 2 deletions ALL.vs2017.sln
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Scripts", "Scripts", "{0AB2
Externals\winimerge\ExpandEnvironmenStrings.js = Externals\winimerge\ExpandEnvironmenStrings.js
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SampleStatic", "Externals\crystaledit\Sample\SampleStatic.vcxproj", "{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WinIMerge", "WinIMerge", "{0B7E421E-A8CA-444C-B650-D1D7F1D55688}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Frhed", "Frhed", "{97E9C1F1-F87E-4BE6-A66C-6B97DCD80873}"
Expand Down Expand Up @@ -494,6 +492,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Translations", "Translation
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CrashLogger", "Src\CrashLogger\CrashLogger.vcxitems", "{CDEDDAC4-79B9-4A34-A564-8019F60D241F}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tree-sitter", "Externals\crystaledit\editlib\tree-sitter\tree-sitter.vcxitems", "{A3E7E04F-5D2B-4F3A-B725-8F5C4B1E9D3C}"
EndProject
Comment on lines +495 to +496
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SampleStatic", "Externals\crystaledit\Sample\SampleStatic.vcxproj", "{C347D6AE-7A2B-4ED0-97AD-2595E1C5D7DD}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
Plugins\src_VCPP\Common\Common.vcxitems*{098b241d-63af-4683-baf8-6da57fd8fe75}*SharedItemsImports = 4
Expand All @@ -518,11 +520,13 @@ Global
Externals\crystaledit\editlib\editlibparsers.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Externals\poco\Foundation\Foundation.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Externals\poco\XML\XML.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Externals\crystaledit\editlib\tree-sitter\tree-sitter.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Externals\xdiff\xdiff.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Src\CompareEngines\CompareEngines.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Src\CrashLogger\CrashLogger.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Src\diffutils\diffutils.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Src\FilterEngine\FilterEngine.vcxitems*{9fda4af0-ccfd-4812-bdb9-53efedb32bde}*SharedItemsImports = 4
Externals\crystaledit\editlib\tree-sitter\tree-sitter.vcxitems*{a3e7e04f-5d2b-4f3a-b725-8f5c4b1e9d3c}*SharedItemsImports = 9
Plugins\src_VCPP\Common\Common.vcxitems*{a644fba4-d76e-4500-b4b7-04d7a245359a}*SharedItemsImports = 4
Plugins\src_VCPP\Common\Common.vcxitems*{aa88b46e-b2e2-4b03-8cd5-1e9d60db6ab2}*SharedItemsImports = 4
Externals\crystaledit\editlib\editlibparsers.vcxitems*{ab827c6b-5116-408f-b453-e2075e9b73b4}*SharedItemsImports = 4
Expand All @@ -538,6 +542,7 @@ Global
Plugins\src_VCPP\Common\Common.vcxitems*{bd0c5fe1-8457-49c2-8801-0c99a6e6cc03}*SharedItemsImports = 4
Externals\crystaledit\editlib\editlib.vcxitems*{c347d6ae-7a2b-4ed0-97ad-2595e1c5d7dd}*SharedItemsImports = 4
Externals\crystaledit\editlib\editlibparsers.vcxitems*{c347d6ae-7a2b-4ed0-97ad-2595e1c5d7dd}*SharedItemsImports = 4
Externals\crystaledit\editlib\tree-sitter\tree-sitter.vcxitems*{c347d6ae-7a2b-4ed0-97ad-2595e1c5d7dd}*SharedItemsImports = 4
Src\CrashLogger\CrashLogger.vcxitems*{cdeddac4-79b9-4a34-a564-8019f60d241f}*SharedItemsImports = 9
Externals\poco\XML\XML.vcxitems*{dafd8d9e-6509-4482-a533-44c843c3bcc7}*SharedItemsImports = 9
Src\diffutils\diffutils.vcxitems*{fc3b9df3-2854-4264-ab4b-ee8c43982513}*SharedItemsImports = 9
Expand Down Expand Up @@ -1427,6 +1432,7 @@ Global
{B30837C4-F99F-46F9-ADFB-5FAEFB1D2FBB} = {220B870C-D051-463E-997B-8C392081EE15}
{DAFD8D9E-6509-4482-A533-44C843C3BCC7} = {220B870C-D051-463E-997B-8C392081EE15}
{02828B8D-E4B9-41FE-84C4-D5CDA7761627} = {5360DC20-6552-4F74-8D4D-BF88B23E0B3A}
{A3E7E04F-5D2B-4F3A-B725-8F5C4B1E9D3C} = {6BBF0DEA-C0B8-4B73-B540-3BF8297B49B4}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {CC2E4F75-FADC-4F44-BD62-47A321828081}
Expand Down
2 changes: 1 addition & 1 deletion Docs/Manual/Italian/Filters.xml
Original file line number Diff line number Diff line change
Expand Up @@ -604,7 +604,7 @@ I seguenti attributi sono progettati per essere usati solo nei filtri
i prefissi <guilabel>e:</guilabel>, <guilabel>e!:</guilabel>,
<guilabel>fe:</guilabel>, <guilabel>fe!:</guilabel>,
<guilabel>de:</guilabel> o <guilabel>de!:</guilabel> in il campo
Filtro). Non devono essere usati nelle regole di inclusione/esclusione del
Filtro). Non devono essere uszati nelle regole di inclusione/esclusione del
filtro file (<nomefile>.flt</nomefile>), poiché richiedono che il confronto
venga prima completato e potrebbero causare comportamenti imprevisti.</para>

Expand Down
1 change: 1 addition & 0 deletions Externals/crystaledit/Sample/SampleStatic.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@
<ImportGroup Label="Shared">
<Import Project="..\editlib\editlib.vcxitems" Label="Shared" />
<Import Project="..\editlib\editlibparsers.vcxitems" Label="Shared" />
<Import Project="..\editlib\tree-sitter\tree-sitter.vcxitems" Label="Shared" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
Expand Down
70 changes: 70 additions & 0 deletions Externals/crystaledit/editlib/ITextBuffer.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
////////////////////////////////////////////////////////////////////////////
// File: ITextBuffer.h
// Version: 1.0.0.0
// Created: 2026-01-XX
//
// Interface for text buffer access - MFC-independent abstraction
// for TreeSitterParser and other components that need basic text
// buffer operations without MFC dependencies.
//
// SPDX-License-Identifier: GPL-2.0-or-later
////////////////////////////////////////////////////////////////////////////

#pragma once

#include "utils/ctchar.h"
#include "UndoRecord.h"

/**
* @brief Abstract interface for text buffer access.
*
* This interface provides a minimal set of methods needed by TreeSitterParser
* and other components to access text buffer content and undo information
* without depending on MFC or CCrystalTextBuffer directly.
*/
class ITextBuffer
{
public:
virtual ~ITextBuffer() = default;

// Line access methods
/**
* @brief Get the number of lines in the buffer.
* @return Line count.
*/
virtual int GetLineCount() const = 0;

/**
* @brief Get a pointer to the characters of a specific line.
* @param nLineIndex Zero-based line index.
* @return Pointer to the line's character data (may not be null-terminated).
*/
virtual const tchar_t* GetLineChars(int nLineIndex) const = 0;

/**
* @brief Get the length of a specific line.
* @param nLineIndex Zero-based line index.
* @return Number of characters in the line (excluding line ending).
*/
virtual int GetLineLength(int nLineIndex) const = 0;

// Undo-related methods
/**
* @brief Check if undo is available.
* @return true if undo operations are available.
*/
virtual bool CanUndo() const = 0;

/**
* @brief Get the current undo position.
* @return Current position in the undo stack.
*/
virtual int GetUndoPosition() const = 0;

/**
* @brief Get an undo record at a specific position.
* @param nUndoPos Position in the undo stack.
* @return The undo record at that position.
*/
virtual UndoRecord GetUndoRecord(int nUndoPos) const = 0;
};
Loading
Loading