generated from JetBrains/intellij-platform-plugin-template
-
Notifications
You must be signed in to change notification settings - Fork 318
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AutoDevInput Text improvement #101
Comments
REFS: https://youtrack.jetbrains.com/issue/LLM-2223 Current situation Desired situation
|
phodal
added a commit
that referenced
this issue
Mar 8, 2024
The commit introduces changes to the cursor handling logic in the chat input sections, ensuring that the cursor is automatically moved to the start of the input field when a new message is loaded or when the user manually triggers the action. This enhancement improves the user experience by making it easier for users to quickly start typing their responses without having to manually position the cursor.
phodal
added a commit
that referenced
this issue
Mar 11, 2024
…e support #101 AutoDev input language support is a new feature added to the project. The following files have been modified or created to support this new language:
phodal
added a commit
that referenced
this issue
Mar 11, 2024
…ies #101 This commit renames the 'autoin-lang' project to 'devin-lang' to reflect a change in the project's name. It also updates the settings.gradle.kts file to reflect the new project name and adds a dependency on the 'devin-lang' project in the build.gradle.kts file. Additionally, the .gitignore and source files for the 'autoin-lang' project have been renamed to match the new 'devin-lang' project name.
phodal
added a commit
that referenced
this issue
Mar 11, 2024
The DevInLexer and DevInParser have been updated to support variables, agent usage, and commands in DevInLang. This change introduces a more flexible grammar that recognizes strings and variables, allowing for more complex and expressive scripting within the language.
phodal
added a commit
that referenced
this issue
Mar 11, 2024
…he DevInLanguage #101 The commit introduces a new lexer and parser for the DevInLanguage, based on Flex and BNF grammars. The lexer is implemented using a FlexAdapter, which wraps the generated _DevInLexer class. The parser is defined in a BNF file and is converted to a PsiParser using a ParserDefinition class.
phodal
added a commit
that referenced
this issue
Mar 11, 2024
…o support more complex identifiers and whitespace handling #101 The commit addresses issues with the DevInParser and DevInLexer in the ext/devin-lang package. It introduces more flexible regex patterns for identifiers, allowing characters other than the initial '$', '@', or '/'. Additionally, the commit refactors the lexer to handle whitespace more efficiently, using a dedicated WHITE_SPACE token type. The parser definition is updated to leverage the new token types, and the build script is modified to reflect the changes in the generated parser and lexer classes. Finally, a test file is updated to demonstrate the new parsing capabilities.
phodal
added a commit
that referenced
this issue
Mar 11, 2024
…ion #101 The icon used for the DevInFileType was updated to use a custom icon instead of the AI Copilot icon. Additionally, a new file was added to declare the icon in a separate file, and the missing package declaration in DevInLexerAdapter was fixed. The build.gradle.kts file was modified to remove the unnecessary plugin and plugin version settings, as well as the dependency on the :java project, since these were not needed for this change.
phodal
added a commit
that referenced
this issue
Mar 11, 2024
The default icon for the DevInIcons object has been updated from ai-copilot.svg to devin.svg, reflecting the project's branding.
phodal
added a commit
that referenced
this issue
Mar 11, 2024
…er. #101 The commit introduces a new file `DevInAstFactory.kt` that extends `ASTFactory`, providing a custom factory for the DevIn language. This class is responsible for creating Abstract Syntax Trees (ASTs) for the DevIn language. Another new file `DevInTypedHandler.kt` is added, which extends `TypedHandlerDelegate`. This class handles keyboard input within the DevIn language file, providing support for auto-completion and other editor actions. The `cc.unitmesh.language.xml` file is modified to register the newly created `DevInAstFactory` and `DevInTypedHandler` with the IntelliJ platform. This ensures that the custom functionality is integrated into the IDE's features for the DevIn language.
phodal
added a commit
that referenced
this issue
Mar 11, 2024
…d TypedHandler from plugin.xml #101 The `DevInCompletionContributor` class has been added to provide code completion functionality for the DevIn language. This includes the `VariableProvider` class to suggest variables during code completion. Additionally, the deprecated `TypedHandler` has been commented out and a new `completion.contributor` extension has been added to the plugin descriptor (`cc.unitmesh.language.xml`) to register the new completion contributor.
phodal
added a commit
that referenced
this issue
Mar 11, 2024
…and completion. #101 The commit introduces several changes to add support for the DevIn programming language in an IntelliJ IDEA plugin. The `DevInFile` class is modified to use the correct `DevInFileType` instance. A new `CustomVariable` enum is added to provide static variables for completion.
phodal
added a commit
that referenced
this issue
Mar 11, 2024
… parser #101 This commit introduces stub support for the DevInLanguage by creating a new `DevInFileStub` class and its corresponding `Type`, which extends `IStubFileElementType`. The `DevInFile` class has been updated to use the `getOriginalFile` method and to override `toString` and `getStub` methods. The `DevInSyntaxHighlighter` and `DevInCompletionContributor` have been refactored to use the new `DevInTypes.REF_BLOCK` token type in their respective extensions. The `DevInLexer` has been modified to recognize references with the `@` and `$` prefixes, and the `DevInFileType` has been updated to use the extension `.devin` instead of `.autoin`.
phodal
added a commit
that referenced
this issue
Mar 11, 2024
…101 The commit introduces a new lexical and syntactic model for the DevInLanguage, including the support for agent commands and variables. The changes include the addition of new token types, grammar rules, and completion logic, as well as the modification of the lexer and syntax highlighting to accommodate these new features.
phodal
added a commit
that referenced
this issue
Mar 11, 2024
…#101 This commit introduces a new token type 'IDENTIFIER' and corresponding changes across the DevInLanguage extension, including the grammar, lexer, and completion contributor. The 'IDENTIFIER' token is now recognized in the lexer and used in the parser to represent variable identifiers. The completion provider has been updated to trigger on 'VARIABLE_ID' tokens, allowing for auto-completion of variable names. Additionally, the lexer now supports a 'VARIABLE_BLOCK' state to handle variable definitions. These changes enhance the language support for variable management within DevInLanguage.
phodal
added a commit
that referenced
this issue
Mar 11, 2024
This commit introduces a new class, `DevInReferenceFoldingBuilder`, which provides support for code folding in the DevIn language. The builder allows users to collapse regions of code marked by variable IDs, improving readability and manageability of large codebases. Additionally, the related entry in `cc.unitmesh.language.xml` has been modified to register the folding builder for the DevIn language, ensuring that the code folding functionality is properly integrated into the development environment.
phodal
added a commit
that referenced
this issue
Mar 11, 2024
phodal
added a commit
that referenced
this issue
Mar 12, 2024
…pletion provider implementation. #101 This commit introduces support for the Markdown plugin by including it as a dependency in the plugin configuration. Additionally, it lays the foundation for a completion provider by implementing the `CodeLanguageProvider` class, which is a crucial component for providing context-aware code completion suggestions within the IDE. The completion provider is currently a work in progress, with the `TODO` comment indicating that further development is required to implement the actual completion logic.
phodal
added a commit
that referenced
this issue
Mar 12, 2024
…101 The completion provider now uses the `MyInsertHandler` to insert a newline and move the caret after inserting a variable identifier, providing a better user experience for code completion within DevInTypes.VARIABLE_ID. Additionally, the completion provider now iterates over all injectable languages and adds them as lookup elements, each with its type text and an insert handler, improving the overall functionality of the completion feature.
phodal
added a commit
that referenced
this issue
Mar 12, 2024
phodal
added a commit
that referenced
this issue
Mar 12, 2024
phodal
added a commit
that referenced
this issue
Mar 12, 2024
phodal
added a commit
that referenced
this issue
Mar 12, 2024
…al language identifiers in code blocks. #101
phodal
added a commit
that referenced
this issue
Mar 12, 2024
…al language identifiers in code blocks. #101
phodal
added a commit
that referenced
this issue
Mar 12, 2024
…cture #101 The commit reorganizes the packages and resources for the Devin language extension to improve the structure and clarity of the codebase. The following changes were made: - Rename and modify files to reflect their focus on syntax highlighting and lexing. - Move files into new subpackages within the `cc.unitmesh.language.highlight` and `cc.unitmesh.language.lexer` packages. - Modify the `build.gradle.kts` file to update the target output directory for the lexer generator. - Rename and modify the `DevInParserDefinition` to include the new package structure. - Rename the `DevInSyntaxHighlighterFactory` to reflect its new location in the `cc.unitmesh.language.highlight` package. - Modify the `DevInParsingTest` to use the updated `DevInParserDefinition`. These changes help ensure that the Devin language extension is more maintainable and easier to understand for future development and maintenance.
phodal
added a commit
that referenced
this issue
Mar 12, 2024
This commit introduces a new class `CodeBlockElement` to the DevInLanguage parser, providing a wrapper for code block elements within text. The class is designed to handle injection host functionality, including updating text and creating literal text escapers. This addition will improve the parsing capabilities of the DevInLanguage plugin, allowing for more accurate and comprehensive processing of code blocks within user input.
phodal
added a commit
that referenced
this issue
Mar 12, 2024
…anguage injection for code blocks in DevIn language. #101
phodal
added a commit
that referenced
this issue
Mar 19, 2024
Refactor the implementation of the `regex` file function in order to improve code readability and maintainability. The logic of iterating over project files and matching them with the given regex pattern is extracted into a separate helper function `regexFunction()`. This results in cleaner and more modular code.
phodal
added a commit
that referenced
this issue
Mar 19, 2024
Refactor FileFunctionProvider to use separate file for FileFunc enum and add parseRegex function. Updates FileFuncInsCommand to use the new FileFunc enum. The FileFunctionProvider was refactored to use a separate file for the FileFunc enum, and a parseRegex function was added. The FileFuncInsCommand was also updated to use the new FileFunc enum.
phodal
added a commit
that referenced
this issue
Mar 19, 2024
…d colon-separated parameters #101 The commit introduces a new feature to the DevInParser and DevInLexer, enabling the parsing and lexing of system calling commands with identifiers and colon-separated parameters. This enhancement allows for more complex and expressive system interactions within the DevInLanguage.
phodal
added a commit
that referenced
this issue
Mar 19, 2024
…nd identifiers #101 The variable, agent, and command identifier tokens were previously highlighted using the number color, which is not appropriate for identifiers. This commit corrects the highlighting for these tokens by assigning them the constant color, which is more suitable for identifiers. Additionally, the command property tokens are now highlighted with the string color, and system tokens are also highlighted with appropriate colors.
phodal
added a commit
that referenced
this issue
Mar 19, 2024
The `DevInSyntaxHighlighterFactory` now returns the `DevInSyntaxHighlighter` directly, removing unnecessary parameters and improving code readability.
phodal
added a commit
that referenced
this issue
Mar 19, 2024
Previously, the language injection check was prone to unnecessary re-evaluation due to the use of `||` and `&&`. This commit refactors the code to use `?:` and `?: return` to ensure that the check is performed only once and the function returns as soon as the condition is met, improving the efficiency and readability of the code.
phodal
added a commit
that referenced
this issue
Mar 19, 2024
…nvention and improve code readability. #101
phodal
added a commit
that referenced
this issue
Mar 19, 2024
… whitespace in agent ID regex #101 The `DevInTokenType` class now correctly formats its string representation, and the `DevInLexer.flex` file has been updated to allow whitespace in agent IDs. Additionally, unnecessary code has been removed from the `DevInTypedHandler.kt` and `DevInFile.kt` files.
phodal
added a commit
that referenced
this issue
Mar 19, 2024
…nt completion #101 The commit adds a new documentation provider for the DevIn language, which improves the user experience by providing quick navigation information for PsiElements. Additionally, the commit refactors the CustomAgentCompletion class to use the new documentation provider and fixes an issue with the import statements. The changes also include modifications to the plugin.xml file to register the documentation provider and a refactoring of the loadAgentConfigs function to use the new documentation provider.
phodal
added a commit
that referenced
this issue
Mar 19, 2024
The regex pattern for agent_id in DevInLexer.flex has been updated to only allow non-whitespace characters, ensuring that agent IDs are syntactically valid and do not include spaces or tabs. This change aligns with the language specification and improves the parsing and validation of agent IDs in the DevInLang grammar. Additionally, the DevInsDocumentationProvider class has been refactored to extend AbstractDocumentationProvider instead of DocumentationProvider directly, and it now handles documentation lookup for AGENT_ID and COMMAND_ID elements. The class now imports the necessary packages for interacting with agent configurations and built-in commands, and it provides a more detailed documentation string for each element type. This refactoring enhances the documentation capabilities of the language plugin and improves the developer experience.
phodal
added a commit
that referenced
this issue
Mar 19, 2024
…entation provider #101 The documentation provider now supports custom variables, enhancing the documentation experience for users.
phodal
added a commit
that referenced
this issue
Mar 20, 2024
phodal
added a commit
that referenced
this issue
Mar 20, 2024
This commit introduces a new LocalInspectionTool for the DevIns language, which detects and reports duplicate agent declarations. The inspection is implemented in `DevInsDuplicateAgentInspection` and is registered in the `.xml` file under the `localInspection` tag.
phodal
added a commit
that referenced
this issue
Mar 20, 2024
The error message for duplicate agent calls has been enhanced to provide more context and a clear recommendation to the user. Previously, it only indicated "Duplicate agent calling", which was not very descriptive. Now, the message includes a suggestion to remove the duplicate calls and emphasizes the importance of making only one call per agent.
phodal
added a commit
that referenced
this issue
Mar 20, 2024
…ate agent calls in DevInLanguage #101 The new feature introduces a linting inspection that detects when a method call to an agent is made more than once in a single file. This can lead to unintended behavior and is generally considered a code smell. The inspection provides a quick fix to remove the duplicate calls, encouraging developers to write more maintainable and efficient code. The messages displayed by the inspection are now localized, making the user experience more consistent and easier to understand across different projects and languages.
phodal
added a commit
that referenced
this issue
Mar 20, 2024
This commit introduces a new inspection for the DevIns language plugin, which detects and reports cases of multiple calls to the same agent. The inspection helps maintain the integrity of agent-based code by ensuring that each agent is called only once, preventing potential issues and confusion. The commit also includes a new HTML file with the inspection description and modifies the `DevInBundle.Properties` file to add a message for the inspection group and the corresponding message for the duplicate agent inspection. Finally, the `DevInsDuplicateAgentInspection.kt` file is modified to use the new inspection group message and to implement the inspection logic.
phodal
added a commit
that referenced
this issue
Mar 20, 2024
…ame #101 The DevInBundle class has been refactored to use non-NLS strings for improved performance and to correct the bundle name for proper message loading. The `BUNDLE` constant has been renamed to `DevInBUNDLE` to match the file name of the resource bundle. Additionally, the `message` and `messagePointer` methods have been updated to use the correct bundle name and to suppress any warnings from the spread operator. These changes ensure that the internationalization logic is more robust and easier to maintain.
phodal
added a commit
that referenced
this issue
Mar 20, 2024
…DevInBundle #101 This commit updates the `DevInBundle` in place of the `AutoDevBundle` in various classes and files within the `devins-lang` extension, ensuring consistent use of the new bundle for all DevIn-related messages and UI elements.
phodal
added a commit
that referenced
this issue
Mar 20, 2024
…nsDuplicateAgentInspection #101 The DevInsDuplicateAgentInspection now uses a set of `DevInUsed` objects instead of strings to more accurately detect and report duplicate agent IDs. This change ensures that the inspection correctly identifies and flags only unique agent IDs within the context of their usage, improving the precision and reliability of the linting process.
phodal
added a commit
that referenced
this issue
Mar 20, 2024
phodal
added a commit
that referenced
this issue
Mar 20, 2024
… old implementation #101 This commit introduces a new class `SymbolInsCommand` in the `devins-lang` extension, which provides functionality for symbol insertion. The old implementation has been removed to avoid code duplication and maintain a clean codebase. The new class is designed to handle symbol resolution and insertion more efficiently, improving the overall user experience.
phodal
added a commit
that referenced
this issue
Mar 20, 2024
…#101 Ensure the readability and maintainability of the code by updating the condition to check if the command node is in a list of predefined commands. This change simplifies the code and makes it more consistent.
phodal
added a commit
that referenced
this issue
Mar 20, 2024
…#101 Add CustomAgentConfig attribute to CompileResult for working agent information. Update loadAgentConfigs to loadFromProject method.
phodal
added a commit
that referenced
this issue
Mar 20, 2024
…ilation #101 Add support for using VariableTemplateCompiler to compile variables. The compiler is now utilized to parse and compile variables, generating output based on the compilation.
phodal
added a commit
that referenced
this issue
Mar 20, 2024
Add a new method `fromString` to create a `DevInFile` from a given text in DevIn language. This method creates a new file with a unique filename using UUID, and then returns the created `DevInFile`. This method improves the flexibility and reusability of creating `DevInFile` instances.
phodal
added a commit
that referenced
this issue
Mar 20, 2024
Add support for executing custom agents for language compilation, improving interaction with the console.
phodal
added a commit
that referenced
this issue
Mar 20, 2024
Add a new SHELL command to the DevIns language, along with supporting functionality such as command execution and completion provider for code insight.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In current design, AutoDev input will be complex:
$
to use variable of context@
to use build in command and agent/
to support some custom command#
to like to issue or story idFor example:
Which will make input box complex, in order to use
SyntaxHighlighterBase
,CompletionContributor
or other features, we can design it as a language, which is same to JetBrains' design.The text was updated successfully, but these errors were encountered: