13
13
2 . ** Perform code analysis** to quickly get to know a large code base without having to read all contents of all files.
14
14
- The CEDARScript runtime searches through the whole code base and only returns the desired results
15
15
16
+ ## Key Features:
17
+
18
+ - ** SQL-like syntax** for intuitive code querying and manipulation;
19
+ - ** Reduced token usage** via semantic-level code transformations, not character-by-character matching;
20
+ - ** Scalable to larger codebases** with minimal token usage;
21
+ - ** Project-wide refactorings** can be performed with a single, concise command
22
+ - Avoids wasted time and tokens on failed search/replace operations caused by misplaced spaces, indentations or typos;
23
+ - ** High-level abstractions** for complex refactoring operations via refactoring languages (currently supports Rope syntax);
24
+ - ** [ Relative indentation] ( grammar.js#L301-L366 ) ** for easily maintaining proper code structure;
25
+ - Allows fetching or modifying targeted parts of code;
26
+ - ** Locations in code** : Doesn't use line numbers. Instead, offers [ more resilient alternatives] ( grammar.js#L241-L297 ) , like:
27
+ - ** [ Line] ( grammar.js#L243-L246 ) ** markers. Ex:
28
+ - ` LINE "if name == 'some name':" `
29
+ - ** [ Identifier] ( grammar.js#L248-L251 ) ** markers (` VARIABLE ` , ` FUNCTION ` , ` CLASS ` ). Ex:
30
+ - ` FUNCTION 'my_function' `
31
+ - ** Language-agnostic design** for versatile code analysis
32
+ - ** [ Code analysis operations] ( grammar.js#L192-L219 ) ** return results in XML format for easier parsing and processing by LLM (Large Language Model) systems.
33
+
16
34
## Projects using the CEDARScript Language
17
35
18
36
1 . [ CEDARScript AST Parser (Python)] ( https://github.com/CEDARScript/cedarscript-ast-parser-python )
19
37
2 . [ CEDARScript Editor] ( https://github.com/CEDARScript/cedarscript-editor-python )
20
- 3 . [ CEDARScript Prompt Engineering] ( https://github.com/CEDARScript/cedarscript-llm-prompt-engineering ) - Provides prompts that teach ` CEDARScript ` to LLMs
38
+ 3 . [ CEDARScript Prompt Engineering] ( https://github.com/CEDARScript/cedarscript-llm-prompt-engineering )
39
+ - Provides prompts that teach ` CEDARScript ` to LLMs
40
+ - Also includes real conversations held via Aider in which an LLM uses this language to propose code modifications
21
41
4 . [ CEDARScript Integrations] ( https://github.com/CEDARScript/cedarscript-integrations ) - Provides ` CEDARScript ` [ _ edit format_ ] ( https://aider.chat/docs/llms/editing-format.html ) for [ Aider] ( https://aider.chat/ )
22
42
23
43
## How can CEDARScript be used?
@@ -40,24 +60,6 @@ IDEs can store the local history of files in CEDARScript format, and this can al
40
60
- Automated code documentation and explanation tools
41
61
- ...
42
62
43
- ## Key Features:
44
-
45
- - ** SQL-like syntax** for intuitive code querying and manipulation;
46
- - ** Reduced token usage** via semantic-level code transformations, not character-by-character matching;
47
- - ** Scalable to larger codebases** with minimal token usage;
48
- - ** Project-wide refactorings** can be performed with a single, concise command
49
- - Avoids wasted time and tokens on failed search/replace operations caused by misplaced spaces, indentations or typos;
50
- - ** High-level abstractions** for complex refactoring operations via refactoring languages (currently supports Rope syntax);
51
- - ** [ Relative indentation] ( grammar.js#L301-L366 ) ** for easily maintaining proper code structure;
52
- - Allows fetching or modifying targeted parts of code;
53
- - ** Locations in code** : Doesn't use line numbers. Instead, offers [ more resilient alternatives] ( grammar.js#L241-L297 ) , like:
54
- - ** [ Line] ( grammar.js#L243-L246 ) ** markers. Ex:
55
- - ` LINE "if name == 'some name':" `
56
- - ** [ Identifier] ( grammar.js#L248-L251 ) ** markers (` VARIABLE ` , ` FUNCTION ` , ` CLASS ` ). Ex:
57
- - ` FUNCTION 'my_function' `
58
- - ** Language-agnostic design** for versatile code analysis
59
- - ** [ Code analysis operations] ( grammar.js#L192-L219 ) ** return results in XML format for easier parsing and processing by LLM (Large Language Model) systems.
60
-
61
63
## Examples
62
64
63
65
Quick example:
@@ -188,6 +190,7 @@ This approach could potentially enhance LLMs' ability to leverage external tools
188
190
# See Also
189
191
1 . [ OpenAI Fine-tuning] ( https://platform.openai.com/docs/guides/fine-tuning/common-use-cases )
190
192
2 . [ llm-context.py] ( https://github.com/cyberchitta/llm-context.py )
193
+ 3 . [ ` Gemini 1.5 PRO ` improved performance (on par with Sonnet 3.5)] ( https://github.com/Aider-AI/aider/pull/1897#issue-2563049442 )
191
194
192
195
# Unrelated
193
196
0 commit comments