├── src
├── test
│ ├── resources
│ │ ├── application.properties
│ │ ├── indexes
│ │ │ └── hnsw.index
│ │ ├── images
│ │ │ └── test-image.png
│ │ ├── inline
│ │ │ └── TestClass.java
│ │ └── codecompletions
│ │ │ ├── psi
│ │ │ ├── python.txt
│ │ │ └── java.txt
│ │ │ └── code-completion-file.txt
│ └── kotlin
│ │ ├── ee
│ │ └── carlrobert
│ │ │ └── codegpt
│ │ │ ├── settings
│ │ │ ├── remote
│ │ │ │ ├── ConfigChangeCollectorTest.kt
│ │ │ │ └── RemoteSettingsFormIntegrationTest.kt
│ │ │ ├── service
│ │ │ │ └── custom
│ │ │ │ │ └── form
│ │ │ │ │ └── CustomServiceListFormTest.kt
│ │ │ └── configuration
│ │ │ │ └── CommitMessageTemplateTest.kt
│ │ │ └── toolwindow
│ │ │ └── chat
│ │ │ ├── CompleteOutputParserTest.kt
│ │ │ └── StreamOutputParserTest.kt
│ │ └── testsupport
│ │ └── IntegrationTest.kt
└── main
│ ├── kotlin
│ └── ee
│ │ └── carlrobert
│ │ └── codegpt
│ │ ├── settings
│ │ ├── remote
│ │ │ └── ConfigSyncService.kt
│ │ ├── service
│ │ │ ├── DialogResult.kt
│ │ │ ├── custom
│ │ │ │ ├── form
│ │ │ │ │ ├── model
│ │ │ │ │ │ ├── CustomServicesStateData.kt
│ │ │ │ │ │ ├── CustomServiceChatCompletionSettingsData.kt
│ │ │ │ │ │ ├── CustomServiceCodeCompletionSettingsData.kt
│ │ │ │ │ │ └── CustomServiceSettingsData.kt
│ │ │ │ │ └── CustomServiceNameListRenderer.kt
│ │ │ │ └── CustomServicesChangeNotifier.kt
│ │ │ ├── ProviderChangeNotifier.kt
│ │ │ ├── codegpt
│ │ │ │ ├── CodeGPTUserDetailsNotifier.kt
│ │ │ │ └── CodeGPTServiceSettings.kt
│ │ │ ├── google
│ │ │ │ ├── GoogleSettings.kt
│ │ │ │ └── GoogleSettingsConfigurable.kt
│ │ │ ├── llama
│ │ │ │ └── form
│ │ │ │ │ └── ServerButtonConfig.kt
│ │ │ ├── inception
│ │ │ │ ├── InceptionSettings.kt
│ │ │ │ └── InceptionSettingsForm.kt
│ │ │ ├── ServiceConfigurable.kt
│ │ │ ├── ollama
│ │ │ │ ├── OllamaSettings.kt
│ │ │ │ └── OllamaSettingsConfigurable.kt
│ │ │ └── InceptionServiceConfigurable.kt
│ │ ├── configuration
│ │ │ ├── ConfigurationStateListener.kt
│ │ │ ├── ChatMode.kt
│ │ │ └── PathInputDialog.kt
│ │ ├── mcp
│ │ │ ├── form
│ │ │ │ ├── McpFormUtil.kt
│ │ │ │ ├── details
│ │ │ │ │ └── McpFormDetails.kt
│ │ │ │ └── McpFileProvider.kt
│ │ │ └── McpConfigurable.kt
│ │ ├── documentation
│ │ │ └── DocumentationsConfigurable.kt
│ │ ├── persona
│ │ │ └── PersonaSettings.kt
│ │ ├── prompts
│ │ │ └── PromptsConfigurable.kt
│ │ └── models
│ │ │ ├── ModelSettingsConfigurable.kt
│ │ │ └── ModelSettingsState.kt
│ │ ├── psistructure
│ │ ├── models
│ │ │ ├── ClassLanguage.kt
│ │ │ ├── ClassName.kt
│ │ │ ├── EnumEntryName.kt
│ │ │ ├── ClassType.kt
│ │ │ ├── FieldStructure.kt
│ │ │ ├── ParameterInfo.kt
│ │ │ ├── ConstructorStructure.kt
│ │ │ ├── MethodStructure.kt
│ │ │ └── ClassStructure.kt
│ │ ├── PsiDepthFile.kt
│ │ └── PsiFileDepthQueue.kt
│ │ ├── inlineedit
│ │ └── engine
│ │ │ ├── ApplyStrategy.kt
│ │ │ ├── InlineEditEngine.kt
│ │ │ ├── ApplyContext.kt
│ │ │ └── InlineEditApplyStrategyFactory.kt
│ │ ├── toolwindow
│ │ ├── chat
│ │ │ ├── parser
│ │ │ │ └── MessageParser.kt
│ │ │ ├── editor
│ │ │ │ ├── ToolWindowEditorFileDetails.kt
│ │ │ │ ├── state
│ │ │ │ │ └── EditorState.kt
│ │ │ │ ├── diff
│ │ │ │ │ └── DiffUtil.kt
│ │ │ │ └── ErrorHandler.kt
│ │ │ └── ChatToolWindowListener.kt
│ │ └── history
│ │ │ └── BaseFilterAction.kt
│ │ ├── util
│ │ ├── file
│ │ │ ├── FileExtensionLanguageDetails.kt
│ │ │ └── LanguageFileExtensionDetails.kt
│ │ ├── MapConverter.kt
│ │ ├── coroutines
│ │ │ ├── DisposableCoroutineScope.kt
│ │ │ ├── EdtCoroutineDispatcherExtensions.kt
│ │ │ ├── EdtCoroutineDispatcher.kt
│ │ │ └── CoroutineDispatchers.kt
│ │ ├── ProjectPathUtils.kt
│ │ ├── ApplicationUtil.kt
│ │ └── BaseConverter.kt
│ │ ├── ui
│ │ ├── textarea
│ │ │ ├── TagProcessor.kt
│ │ │ ├── header
│ │ │ │ └── tag
│ │ │ │ │ ├── TagManagerListener.kt
│ │ │ │ │ └── TagUtil.kt
│ │ │ ├── lookup
│ │ │ │ ├── LookupUtil.kt
│ │ │ │ ├── action
│ │ │ │ │ ├── git
│ │ │ │ │ │ ├── IncludeCurrentChangesActionItem.kt
│ │ │ │ │ │ └── GitCommitActionItem.kt
│ │ │ │ │ ├── personas
│ │ │ │ │ │ ├── PersonaActionItem.kt
│ │ │ │ │ │ └── AddPersonaActionItem.kt
│ │ │ │ │ ├── AbstractLookupActionItem.kt
│ │ │ │ │ ├── CodeAnalyzeActionItem.kt
│ │ │ │ │ ├── files
│ │ │ │ │ │ └── IncludeOpenFilesActionItem.kt
│ │ │ │ │ ├── HistoryActionItem.kt
│ │ │ │ │ ├── docs
│ │ │ │ │ │ └── ViewAllDocsActionItem.kt
│ │ │ │ │ ├── mcp
│ │ │ │ │ │ └── McpServerActionItem.kt
│ │ │ │ │ └── WebActionItem.kt
│ │ │ │ ├── group
│ │ │ │ │ └── AbstractLookupGroupItem.kt
│ │ │ │ ├── LookupItem.kt
│ │ │ │ └── AbstractLookupItem.kt
│ │ │ ├── TagDetailsComparator.kt
│ │ │ └── PromptTextFieldConstants.kt
│ │ └── URLTextField.kt
│ │ ├── nextedit
│ │ ├── NextEditProvider.kt
│ │ ├── ProxyAINextEditProvider.kt
│ │ ├── NextEditCoordinator.kt
│ │ └── AcceptNextEditAction.kt
│ │ ├── completions
│ │ ├── llama
│ │ │ ├── logging
│ │ │ │ ├── ServerLoggingStrategy.kt
│ │ │ │ ├── NoOpLoggingStrategy.kt
│ │ │ │ └── SettingsFormLoggingStrategy.kt
│ │ │ └── LlamaConstants.kt
│ │ └── ToolApprovalMode.kt
│ │ ├── autoimport
│ │ └── AutoImportResolver.kt
│ │ ├── codecompletions
│ │ ├── psi
│ │ │ ├── LanguageContextFinder.kt
│ │ │ └── PsiUtil.kt
│ │ ├── CompletionProgressNotifier.kt
│ │ ├── CompletionTracker.kt
│ │ ├── edit
│ │ │ └── GrpcCallCredentials.kt
│ │ ├── CodeCompletionProviderPresentation.kt
│ │ └── CodeCompletionSuggestionUpdateAdapter.kt
│ │ ├── tokens
│ │ └── TokenComputationService.kt
│ │ ├── actions
│ │ ├── editor
│ │ │ ├── InlineEditAction.kt
│ │ │ ├── AddSelectionToContextAction.kt
│ │ │ └── ShowEditorActionGroupAction.kt
│ │ └── GenerateCommitMessageAction.kt
│ │ └── mcp
│ │ └── McpSessionAttachment.kt
│ ├── resources
│ ├── icons
│ │ ├── qwen.png
│ │ ├── deepseek.png
│ │ ├── greenCheckmark.svg
│ │ ├── greenCheckmark_dark.svg
│ │ ├── relace.svg
│ │ ├── relace_dark.svg
│ │ ├── expandAll.svg
│ │ ├── collapseAll.svg
│ │ ├── expandAll_dark.svg
│ │ ├── collapseAll_dark.svg
│ │ ├── listFiles.svg
│ │ ├── vcs.svg
│ │ ├── vcs_dark.svg
│ │ ├── listFiles_dark.svg
│ │ ├── inception.svg
│ │ ├── inception_dark.svg
│ │ ├── google.svg
│ │ ├── locked.svg
│ │ ├── locked_dark.svg
│ │ ├── openNewTab.svg
│ │ ├── openNewTab_dark.svg
│ │ ├── sendToTheLeft.svg
│ │ ├── sendToTheLeft_dark.svg
│ │ ├── user_dark.svg
│ │ ├── user.svg
│ │ ├── lightning.svg
│ │ ├── lightning_dark.svg
│ │ ├── lighting_disabled.svg
│ │ ├── addFile.svg
│ │ ├── addFile_dark.svg
│ │ ├── anthropic.svg
│ │ ├── dbrx.svg
│ │ ├── upload.svg
│ │ ├── upload_dark.svg
│ │ ├── codegpt-model.svg
│ │ ├── codegpt-model_dark.svg
│ │ ├── mcp.svg
│ │ ├── mcp_dark.svg
│ │ ├── tree.svg
│ │ ├── send.svg
│ │ ├── send_dark.svg
│ │ ├── inSelection.svg
│ │ └── inSelection_dark.svg
│ ├── META-INF
│ │ ├── plugin-cpp.xml
│ │ ├── plugin-javascript.xml
│ │ ├── plugin-kotlin.xml
│ │ ├── plugin-python.xml
│ │ └── plugin-java.xml
│ └── prompts
│ │ ├── core
│ │ ├── generate-name-lookups.txt
│ │ ├── generate-commit-message.txt
│ │ ├── fix-compile-errors.txt
│ │ └── edit-code-ask-mode.txt
│ │ └── chat
│ │ ├── write-tests.txt
│ │ ├── explain.txt
│ │ ├── find-bugs.txt
│ │ ├── optimize.txt
│ │ └── refactor.txt
│ ├── java
│ └── ee
│ │ └── carlrobert
│ │ └── codegpt
│ │ ├── completions
│ │ ├── TotalUsageExceededException.java
│ │ ├── llama
│ │ │ ├── LlamaServerMessage.java
│ │ │ └── LlamaServerStartupParams.java
│ │ ├── ConversationType.java
│ │ └── CompletionResponseEventListener.java
│ │ ├── settings
│ │ ├── service
│ │ │ ├── FeatureType.java
│ │ │ ├── llama
│ │ │ │ └── form
│ │ │ │ │ ├── InfillPromptTemplatePanel.java
│ │ │ │ │ └── ChatPromptTemplatePanel.java
│ │ │ ├── mistral
│ │ │ │ ├── MistralSettingsState.java
│ │ │ │ └── MistralSettings.java
│ │ │ ├── openai
│ │ │ │ └── OpenAISettings.java
│ │ │ └── anthropic
│ │ │ │ └── AnthropicSettings.java
│ │ ├── IncludedFilesSettingsState.java
│ │ ├── GeneralSettings.java
│ │ ├── advanced
│ │ │ └── AdvancedSettings.java
│ │ ├── GeneralSettingsComponent.java
│ │ ├── GeneralSettingsState.java
│ │ ├── IncludedFilesSettings.java
│ │ └── GeneralSettingsConfigurable.java
│ │ ├── toolwindow
│ │ └── chat
│ │ │ ├── ui
│ │ │ └── textarea
│ │ │ │ └── AttachImageNotifier.java
│ │ │ ├── ChatToolWindowType.java
│ │ │ ├── structure
│ │ │ └── data
│ │ │ │ └── PsiStructureState.kt
│ │ │ ├── ChatSession.java
│ │ │ └── editor
│ │ │ └── actions
│ │ │ └── EditAction.java
│ │ ├── conversations
│ │ ├── converter
│ │ │ ├── ConversationConverter.java
│ │ │ ├── ConversationsConverter.java
│ │ │ └── ConversationListConverter.java
│ │ └── ConversationsContainer.java
│ │ ├── actions
│ │ ├── ActionType.java
│ │ ├── toolwindow
│ │ │ ├── ClearChatTagsAction.kt
│ │ │ ├── MoveUpAction.java
│ │ │ ├── MoveDownAction.java
│ │ │ ├── CreateNewConversationAction.java
│ │ │ └── ClearChatWindowAction.java
│ │ ├── OpenSettingsAction.java
│ │ ├── TrackableAction.java
│ │ └── editor
│ │ │ └── OpenNewChatAction.java
│ │ ├── CodeGPTBundle.java
│ │ ├── ui
│ │ ├── checkbox
│ │ │ ├── FileCheckboxTreeCellRenderer.java
│ │ │ └── FileCheckboxTree.java
│ │ ├── IconActionButton.java
│ │ └── ModelIconLabel.java
│ │ ├── util
│ │ ├── EditWindowConfig.java
│ │ └── CommitWorkflowChanges.java
│ │ ├── statusbar
│ │ └── CodeGPTStatusBarWidgetFactory.java
│ │ └── CodeGPTPlugin.java
│ └── proto
│ ├── next-edit.proto
│ └── code-completion.proto
├── .gitattributes
├── .github
├── ISSUE_TEMPLATE
│ ├── config.yml
│ ├── feature_request.yml
│ └── bug_report.yml
└── dependabot.yml
├── gradle-win-arm64.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── settings.gradle.kts
├── .gitmodules
├── codegpt-telemetry
├── src
│ └── main
│ │ ├── resources
│ │ ├── segment.properties
│ │ └── segment-defaults.properties
│ │ └── java
│ │ └── ee
│ │ └── carlrobert
│ │ └── codegpt
│ │ └── telemetry
│ │ ├── TelemetryMessageProvider.java
│ │ ├── TelemetryAction.java
│ │ └── core
│ │ ├── configuration
│ │ ├── IConfiguration.java
│ │ ├── SystemProperties.java
│ │ ├── AbstractConfiguration.java
│ │ └── ClasspathConfiguration.java
│ │ ├── service
│ │ └── segment
│ │ │ ├── ISegmentConfiguration.java
│ │ │ └── IdentifyTraits.java
│ │ ├── ITelemetryService.java
│ │ ├── IMessageBroker.java
│ │ └── util
│ │ ├── Directories.java
│ │ └── Lazy.java
├── README.md
└── build.gradle.kts
├── config
└── checkstyle
│ └── suppressions.xml
└── .gitignore
/src/test/resources/application.properties:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.gif filter=lfs diff=lfs merge=lfs -text
2 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: true
--------------------------------------------------------------------------------
/gradle-win-arm64.properties:
--------------------------------------------------------------------------------
1 | platformVersion = 2023.1
2 | javaVersion = 17
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/settings/remote/ConfigSyncService.kt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/test/kotlin/ee/carlrobert/codegpt/settings/remote/ConfigChangeCollectorTest.kt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/test/kotlin/ee/carlrobert/codegpt/toolwindow/chat/CompleteOutputParserTest.kt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/test/kotlin/ee/carlrobert/codegpt/toolwindow/chat/StreamOutputParserTest.kt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/test/kotlin/ee/carlrobert/codegpt/settings/remote/RemoteSettingsFormIntegrationTest.kt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/test/kotlin/ee/carlrobert/codegpt/settings/service/custom/form/CustomServiceListFormTest.kt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/carlrobertoh/ProxyAI/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/settings.gradle.kts:
--------------------------------------------------------------------------------
1 | rootProject.name = "CodeGPT"
2 | include(":codegpt-treesitter")
3 | include(":codegpt-telemetry")
4 |
--------------------------------------------------------------------------------
/src/main/resources/icons/qwen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/carlrobertoh/ProxyAI/HEAD/src/main/resources/icons/qwen.png
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "llama.cpp"]
2 | path = src/main/cpp/llama.cpp
3 | url = https://github.com/ggerganov/llama.cpp
4 |
--------------------------------------------------------------------------------
/src/main/resources/icons/deepseek.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/carlrobertoh/ProxyAI/HEAD/src/main/resources/icons/deepseek.png
--------------------------------------------------------------------------------
/src/test/resources/indexes/hnsw.index:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/carlrobertoh/ProxyAI/HEAD/src/test/resources/indexes/hnsw.index
--------------------------------------------------------------------------------
/src/test/resources/images/test-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/carlrobertoh/ProxyAI/HEAD/src/test/resources/images/test-image.png
--------------------------------------------------------------------------------
/codegpt-telemetry/src/main/resources/segment.properties:
--------------------------------------------------------------------------------
1 | writeKey=2WKbksXZRM3HXxD9XdE9fUL2rhT
2 | debugWriteKey=2WKbksXZRM3HXxD9XdE9fUL2rhT
3 |
--------------------------------------------------------------------------------
/src/main/resources/META-INF/plugin-cpp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/codegpt-telemetry/src/main/resources/segment-defaults.properties:
--------------------------------------------------------------------------------
1 | writeKey=JO2CLEDKOdQklP9TKKVuUyONel5H2RXk
2 | debugWriteKey=JO2CLEDKOdQklP9TKKVuUyONel5H2RXk
3 |
--------------------------------------------------------------------------------
/src/main/resources/META-INF/plugin-javascript.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/test/resources/inline/TestClass.java:
--------------------------------------------------------------------------------
1 | public class TestClass {
2 |
3 | public static void myTestMethod() {
4 | System.out.println("Hello world");
5 | }
6 | }
--------------------------------------------------------------------------------
/codegpt-telemetry/README.md:
--------------------------------------------------------------------------------
1 | ## ProxyAI Telemetry
2 |
3 | Telemetry implementation based on [Red Hat Telemetry](https://github.com/redhat-developer/intellij-redhat-telemetry) plugin
4 |
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/psistructure/models/ClassLanguage.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.psistructure.models
2 |
3 | enum class ClassLanguage {
4 | KOTLIN,
5 | }
6 |
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/psistructure/models/ClassName.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.psistructure.models
2 |
3 | @JvmInline
4 | value class ClassName(val value: String)
5 |
--------------------------------------------------------------------------------
/codegpt-telemetry/build.gradle.kts:
--------------------------------------------------------------------------------
1 | plugins {
2 | id("codegpt.java-conventions")
3 | }
4 |
5 | dependencies {
6 | implementation(libs.analytics)
7 | implementation(libs.gson)
8 | }
9 |
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/psistructure/models/EnumEntryName.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.psistructure.models
2 |
3 | @JvmInline
4 | value class EnumEntryName(val value: String)
5 |
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/inlineedit/engine/ApplyStrategy.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.inlineedit.engine
2 |
3 | interface ApplyStrategy {
4 | fun apply(ctx: ApplyContext)
5 | }
6 |
7 |
--------------------------------------------------------------------------------
/src/main/java/ee/carlrobert/codegpt/completions/TotalUsageExceededException.java:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.completions;
2 |
3 | public class TotalUsageExceededException extends RuntimeException {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/settings/service/DialogResult.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.settings.service
2 |
3 | enum class DialogResult {
4 | APPLY_MODELS,
5 | KEEP_MODELS,
6 | CANCEL_ALL
7 | }
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/toolwindow/chat/parser/MessageParser.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.toolwindow.chat.parser
2 |
3 | interface MessageParser {
4 |
5 | fun parse(input: String): List
6 | }
--------------------------------------------------------------------------------
/src/main/resources/prompts/core/generate-name-lookups.txt:
--------------------------------------------------------------------------------
1 | Provide five alternative names for a given function or method body. Your response should be a list of names, separated by commas, without any extra information.
2 |
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/psistructure/models/ClassType.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.psistructure.models
2 |
3 | enum class ClassType {
4 | ENUM,
5 | CLASS,
6 | OBJECT,
7 | COMPANION_OBJECT,
8 | }
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/util/file/FileExtensionLanguageDetails.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.util.file
2 |
3 | @JvmRecord
4 | data class FileExtensionLanguageDetails(val extension: String, val value: String)
5 |
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/psistructure/PsiDepthFile.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.psistructure
2 |
3 | import com.intellij.psi.PsiFile
4 |
5 | data class PsiDepthFile(
6 | val psiFile: PsiFile,
7 | val depth: Int,
8 | )
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/util/file/LanguageFileExtensionDetails.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.util.file
2 |
3 | @JvmRecord
4 | data class LanguageFileExtensionDetails(val name: String, val type: String, val extensions: List?)
5 |
--------------------------------------------------------------------------------
/src/main/resources/icons/greenCheckmark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/psistructure/models/FieldStructure.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.psistructure.models
2 |
3 | data class FieldStructure(
4 | val name: String,
5 | val type: ClassName,
6 | val modifiers: List,
7 | )
8 |
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/psistructure/models/ParameterInfo.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.psistructure.models
2 |
3 | data class ParameterInfo(
4 | val name: String,
5 | val type: ClassName,
6 | val modifiers: List,
7 | )
8 |
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/settings/service/custom/form/model/CustomServicesStateData.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.settings.service.custom.form.model
2 |
3 | data class CustomServicesStateData(val services: List)
4 |
--------------------------------------------------------------------------------
/src/main/resources/icons/greenCheckmark_dark.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/psistructure/models/ConstructorStructure.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.psistructure.models
2 |
3 | data class ConstructorStructure(
4 | val parameters: List,
5 | val modifiers: List,
6 | )
7 |
--------------------------------------------------------------------------------
/src/main/resources/META-INF/plugin-kotlin.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/main/resources/META-INF/plugin-python.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/TagProcessor.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.ui.textarea
2 |
3 | import ee.carlrobert.codegpt.conversations.message.Message
4 |
5 | fun interface TagProcessor {
6 | fun process(message: Message, promptBuilder: StringBuilder)
7 | }
8 |
--------------------------------------------------------------------------------
/src/main/java/ee/carlrobert/codegpt/settings/service/FeatureType.java:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.settings.service;
2 |
3 | public enum FeatureType {
4 | CHAT,
5 | CODE_COMPLETION,
6 | AUTO_APPLY,
7 | COMMIT_MESSAGE,
8 | INLINE_EDIT,
9 | NEXT_EDIT,
10 | LOOKUP
11 | }
12 |
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/nextedit/NextEditProvider.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.nextedit
2 |
3 | import com.intellij.openapi.editor.Editor
4 |
5 | interface NextEditProvider {
6 | fun request(editor: Editor, fileContent: String, caretOffset: Int, addToQueue: Boolean)
7 | }
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/toolwindow/chat/editor/ToolWindowEditorFileDetails.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.toolwindow.chat.editor
2 |
3 | import com.intellij.openapi.vfs.VirtualFile
4 |
5 | data class ToolWindowEditorFileDetails(val path: String, val virtualFile: VirtualFile? = null)
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/psistructure/models/MethodStructure.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.psistructure.models
2 |
3 | data class MethodStructure(
4 | val name: String,
5 | val returnType: ClassName,
6 | val parameters: List,
7 | val modifiers: List,
8 | )
9 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip
4 | networkTimeout=10000
5 | validateDistributionUrl=true
6 | zipStoreBase=GRADLE_USER_HOME
7 | zipStorePath=wrapper/dists
8 |
--------------------------------------------------------------------------------
/src/main/resources/prompts/core/generate-commit-message.txt:
--------------------------------------------------------------------------------
1 | Branch: {BRANCH_NAME}
2 | Date: {DATE_ISO_8601}
3 |
4 | Write a short and descriptive git commit message for the following git diff.
5 | Use imperative mood, present tense, active voice and verbs.
6 | Your entire response will be passed directly into git commit.
--------------------------------------------------------------------------------
/src/main/java/ee/carlrobert/codegpt/completions/llama/LlamaServerMessage.java:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.completions.llama;
2 |
3 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4 |
5 | @JsonIgnoreProperties(ignoreUnknown = true)
6 | public record LlamaServerMessage(String level, String msg) {
7 | }
8 |
--------------------------------------------------------------------------------
/src/main/resources/prompts/core/fix-compile-errors.txt:
--------------------------------------------------------------------------------
1 | I will provide you with a snippet of code that is causing a compilation error.
2 | Your task is to identify the potential causes of the compilation error(s) and propose code solutions to fix them.
3 | Please approach this step by step, explaining your reasoning as you go.
--------------------------------------------------------------------------------
/src/main/java/ee/carlrobert/codegpt/completions/ConversationType.java:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.completions;
2 |
3 | public enum ConversationType {
4 | CUSTOM_PROMPT,
5 | DEFAULT,
6 | EDITOR_ACTION,
7 | FIX_COMPILE_ERRORS,
8 | MULTI_FILE,
9 | INLINE_COMPLETION,
10 | INLINE_EDIT,
11 | REVIEW_CHANGES
12 | }
13 |
--------------------------------------------------------------------------------
/src/test/resources/codecompletions/psi/python.txt:
--------------------------------------------------------------------------------
1 | import random
2 | from typing import List
3 |
4 | class Util:
5 |
6 | test: str = ""
7 |
8 | def __init__(self, test: str):
9 | self.test = test
10 |
11 | def randomStrings(n: int) -> List[str]:
12 | return [str(random.randint(0, 100)) for _ in range(n)]
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/settings/service/custom/form/model/CustomServiceChatCompletionSettingsData.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.settings.service.custom.form.model
2 |
3 | data class CustomServiceChatCompletionSettingsData(
4 | val url: String?,
5 | val headers: Map,
6 | val body: Map
7 | )
8 |
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/completions/llama/logging/ServerLoggingStrategy.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.completions.llama.logging
2 |
3 | interface ServerLoggingStrategy {
4 | fun logMessage(message: String, isError: Boolean, isBuildLog: Boolean = false)
5 | fun setPhase(phase: String)
6 | fun startProgress()
7 | fun stopProgress()
8 | }
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/inlineedit/engine/InlineEditEngine.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.inlineedit.engine
2 |
3 | interface InlineEditEngine {
4 | fun apply(ctx: ApplyContext)
5 | }
6 |
7 | class InlineEditEngineImpl : InlineEditEngine {
8 | override fun apply(ctx: ApplyContext) {
9 | InlineEditApplyStrategyFactory.get().apply(ctx)
10 | }
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/header/tag/TagManagerListener.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.ui.textarea.header.tag
2 |
3 | import com.intellij.openapi.editor.SelectionModel
4 |
5 | interface TagManagerListener {
6 | fun onTagAdded(tag: TagDetails)
7 | fun onTagRemoved(tag: TagDetails)
8 | fun onTagSelectionChanged(tag: TagDetails, selectionModel: SelectionModel)
9 | }
--------------------------------------------------------------------------------
/src/main/kotlin/ee/carlrobert/codegpt/util/MapConverter.kt:
--------------------------------------------------------------------------------
1 | package ee.carlrobert.codegpt.util
2 |
3 | import com.fasterxml.jackson.core.type.TypeReference
4 |
5 | class MapConverter :
6 | BaseConverter