Skip to content
This repository was archived by the owner on Oct 31, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
30bfaa0
add initial fplab static contextualization code
jpoly1219 Jun 28, 2025
be46653
pull in static context
jpoly1219 Jun 28, 2025
a70c0b7
add treesitter utility functions that are exclusively used for static…
jpoly1219 Jun 28, 2025
e4b412a
export types
jpoly1219 Jun 28, 2025
fed6ba1
add gotoTypeDefinition method
jpoly1219 Jun 28, 2025
1717fca
add method to extract relevant types
jpoly1219 Jun 28, 2025
4e97c92
move queries to extensions/vscode
jpoly1219 Jun 29, 2025
97788f2
fix path to query
jpoly1219 Jun 29, 2025
4080382
update types
jpoly1219 Jun 29, 2025
4e9690e
move types from snippets to static
jpoly1219 Jun 29, 2025
a2c1c63
conform to interface
jpoly1219 Jun 29, 2025
29f9c72
static contextualization works
jpoly1219 Jun 29, 2025
61b389e
prettier
jpoly1219 Jun 29, 2025
31c3bcc
Merge branch 'main' of github.com:continuedev/continue into jacob/fea…
jpoly1219 Jul 5, 2025
482ed61
resolve merge conflicts
jpoly1219 Jul 5, 2025
b0b2de7
add methods for go to type definitions and get signature help
jpoly1219 Jul 6, 2025
f04260a
enable static contextualization when needed
jpoly1219 Jul 6, 2025
8b03b9a
improve usability
jpoly1219 Jul 6, 2025
f1cdd5f
prettier check
jpoly1219 Jul 6, 2025
0f7a002
check for config enable
jpoly1219 Jul 6, 2025
e7a75a5
check for any return type for quick optimization
jpoly1219 Jul 6, 2025
068b7f2
add defs for static contextualization
jpoly1219 Jul 6, 2025
d108671
add methods for get signature help
jpoly1219 Jul 6, 2025
3edf809
handle cases where function declarations have no body
jpoly1219 Jul 6, 2025
be10c07
match type definition parity with vscode
jpoly1219 Jul 6, 2025
6a2ede3
add a flag to check if static contextualization was enabled
jpoly1219 Jul 6, 2025
53b2814
log static contextualization
jpoly1219 Jul 6, 2025
031ad9d
move to continue-only feature for internal testing
jpoly1219 Jul 8, 2025
367e667
refactor: :art: format snippets so that it's more model prefix-friendly
jpoly1219 Jul 8, 2025
9472bb1
bug: satisfy IDE
jpoly1219 Jul 10, 2025
d937a44
Merge branch 'main' of github.com:continuedev/continue into jacob/fea…
jpoly1219 Jul 10, 2025
5b1848d
bump: version
jpoly1219 Jul 10, 2025
b72fc0e
fix: Send the process exit reason to Sentry + add OS info
exigow Jul 10, 2025
b3e4d36
feat: remove logging code to telemetry
jpoly1219 Jul 10, 2025
00fc90b
fix: :bug: Project structure creation with bare codeblocks is breakin…
chezsmithy Jun 27, 2025
9cd2f8b
enhancing the solution
chezsmithy Jul 1, 2025
370b68c
linting fixes
chezsmithy Jul 1, 2025
49cf779
performance enhancements
chezsmithy Jul 1, 2025
0a29810
add checks to avoid stopping prematurely on stop constants
chezsmithy Jul 1, 2025
938b750
Optimize for more tests and nova
chezsmithy Jul 2, 2025
f6d6c4f
deduplicate code
chezsmithy Jul 4, 2025
db25f4a
prettier fixes
chezsmithy Jul 4, 2025
361685d
remove nova change
chezsmithy Jul 5, 2025
1bd4927
fix re-exports
chezsmithy Jul 13, 2025
7cd7252
fix duplicate logic
chezsmithy Jul 13, 2025
f604c17
fix rundundant trimming
chezsmithy Jul 13, 2025
ad2bbc2
add back comments
chezsmithy Jul 13, 2025
948246d
prettier and code cleanup
chezsmithy Jul 13, 2025
7858389
docs: add note about demos on PRs
Patrick-Erichsen Jul 14, 2025
6e3344e
update pr template title text
Patrick-Erichsen Jul 14, 2025
e17da82
Update pull_request_template.md
Patrick-Erichsen Jul 14, 2025
33681db
Update CONTRIBUTING.md
Patrick-Erichsen Jul 14, 2025
653ed97
Update pull_request_template.md
Patrick-Erichsen Jul 14, 2025
48b48b1
Create typescript-enum-usage.md
Patrick-Erichsen Jul 15, 2025
58c721b
fix: internal permalinks with file extensions
uinstinct Jul 16, 2025
7c82166
fix .mdx links
uinstinct Jul 16, 2025
c132986
remove YAML maxDepth
RomneyDa Jul 17, 2025
c82d1fa
docs: Fix Codestral autocomplete setup - Azure AI Foundry FIM endpoin…
GHuyHuynh Jul 17, 2025
ce26a84
fix: don't stringify os methods
RomneyDa Jul 18, 2025
bcc8c52
feat: add `slug` to rule obj on dev data
Patrick-Erichsen Jul 19, 2025
6af3554
fix: throw error if tool call args are missing
RomneyDa Jul 20, 2025
ae29787
fix: handle args for function specific tool call divs
RomneyDa Jul 20, 2025
bc72e45
Merge branch 'continuedev:main' into patch-4
GHuyHuynh Jul 20, 2025
1862344
feat: support getTerminalContents in InteliJIde.kt, which could only …
SoLoHiC Jul 18, 2025
10e4c32
feat: optimize getTerminalContents in InteliJIde.kt, which reads cont…
SoLoHiC Jul 18, 2025
bb049e8
feat: implement runCommand() method in IntelijIde.kt, and update a in…
SoLoHiC Jul 18, 2025
76bbb67
feat: reuse terminal and find by terminalName before running command
SoLoHiC Jul 18, 2025
ebd5154
fix: recover non-related change in InteliJIde.kt
SoLoHiC Jul 21, 2025
89a7d9a
fix: open the proper config file
fbricon May 22, 2025
1ee5c54
feat: more thorough tool arg checking utils with tests
RomneyDa Jul 21, 2025
be7a773
Merge branch 'main' of https://github.com/continuedev/continue into p…
RomneyDa Jul 21, 2025
8b44a46
improv: ui
tomasz-stefaniak Jul 21, 2025
7a43ce5
improv: ui
tomasz-stefaniak Jul 21, 2025
d47c1f5
improv: ui
tomasz-stefaniak Jul 21, 2025
d4983da
Merge pull request #6606 from continuedev/pe/contributing-docs-update
RomneyDa Jul 21, 2025
40b1a58
build: Add *-eap postfix to JetBrains Early Access releases (#6728)
exigow Jul 21, 2025
67c1c4f
chore: fix react warning (#6687)
uinstinct Jul 21, 2025
60aa531
fix: Follow JetBrains IDE proxy settings (#6531)
exigow Jul 21, 2025
9713651
chore(deps): bump esbuild and vitest in /packages/openai-adapters (#6…
dependabot[bot] Jul 21, 2025
52e2f3c
fix: Ignore invalid JSON messages (like NODE_ENV undefined) (#6576)
exigow Jul 21, 2025
791423b
docs: cmd + i to Edit update (#6660)
bdougie Jul 21, 2025
a146343
Merge pull request #6724 from continuedev/dallin/handle-invalid-tool-…
RomneyDa Jul 21, 2025
fe6fa7d
Merge pull request #6581 from continuedev/jacob/feature/static
sestinj Jul 22, 2025
71f7122
Merge pull request #6635 from fbricon/open-proper-configfile
sestinj Jul 22, 2025
8853ff9
Merge pull request #6638 from continuedev/pe/enum-rule
sestinj Jul 22, 2025
829c39d
Merge pull request #6650 from uinstinct/docs-blocks
sestinj Jul 22, 2025
45f4be6
Merge branch 'main' into dallin/remove-yaml-max-depth
sestinj Jul 22, 2025
fa10511
Merge pull request #6682 from GHuyHuynh/patch-4
sestinj Jul 22, 2025
2b04352
Merge pull request #6697 from continuedev/dallin/terminal-tool-os
sestinj Jul 22, 2025
10861f2
Merge pull request #6702 from SoLoHiC/feature/jetbrainPlugins/termina…
sestinj Jul 22, 2025
9dc2ac9
Merge branch 'main' into exigow/send-process-exit-reason
sestinj Jul 22, 2025
3995797
Merge pull request #6678 from continuedev/dallin/remove-yaml-max-depth
RomneyDa Jul 22, 2025
2d3f997
Merge pull request #6739 from continuedev/tomasz/compaction-fixes
tomasz-stefaniak Jul 22, 2025
91b9f79
Merge pull request #6721 from continuedev/patrick/con-2826-dev-data-r…
tomasz-stefaniak Jul 22, 2025
a1a9c0a
adjust best model reccs
TyDunn Jul 22, 2025
d91f2e1
add deepseek v3
TyDunn Jul 22, 2025
e23de26
docs: update continue-mcp.mdx to mention new mcp server (#6741)
Patrick-Erichsen Jul 22, 2025
13c1b0c
Merge pull request #6753 from continuedev/adjust-best-models
TyDunn Jul 22, 2025
71fed98
fix: Remove redundant jcef.out-of-process=false from run configs
exigow Jul 23, 2025
8028e83
build: Fix jetbrains-release/bump-version CI job (#6758)
exigow Jul 23, 2025
036a37e
build: Remove buildPlugin from jetbrains-release/build (#6760)
exigow Jul 23, 2025
f1467b1
feat: :lipstick: Allow the terminal to collapse/expand on large content
chezsmithy Jul 15, 2025
28eb172
feat: :lipstick: Further tailwind refactoring and splitting out compo…
chezsmithy Jul 15, 2025
5fff215
fix: :art: prettier
chezsmithy Jul 15, 2025
80f7f71
chore: upgrade
tomasz-stefaniak Jul 23, 2025
321fd0d
build: Add verbose publishPlugin logs
exigow Jul 23, 2025
4b89694
Merge pull request #6770 from continuedev/tomasz/bump-version
tomasz-stefaniak Jul 23, 2025
54fde47
fix: :lipstick: Update to tailwind styles per feedback
chezsmithy Jul 23, 2025
7dd48d3
fix: :art: Prettier
chezsmithy Jul 23, 2025
c024c88
chore: use same text color for ellipsis (#6773)
Patrick-Erichsen Jul 23, 2025
8819712
fix: missing `alwaysApply` in local rule block
uinstinct Jul 24, 2025
d1b258f
fix: Send the process exit reason to Sentry + add OS info
exigow Jul 24, 2025
e901fc8
build: Add verbose publishPlugin logs
exigow Jul 24, 2025
0f85e80
Merge pull request #6757 from continuedev/exigow/remove-out-of-proces…
RomneyDa Jul 24, 2025
18c3716
Merge pull request #6620 from chezsmithy/feat-collapsed-terminal
RomneyDa Jul 24, 2025
a19cf70
Merge pull request #6331 from chezsmithy/fix-nested-bare-codeblocks
RomneyDa Jul 24, 2025
90f7037
improve: add filepath in editoutcome dev data
uinstinct Jul 24, 2025
32ec980
Merge pull request #6775 from uinstinct/always-local-rule
tingwai Jul 24, 2025
20d546e
Merge pull request #6780 from uinstinct/dev-data-edit-outcome
tingwai Jul 24, 2025
55f5ed5
fix: use loading state for loading indicator, better error messages
tomasz-stefaniak Jul 24, 2025
92f4944
fix: use JAVA_HOME instead of macOS-specific JVM (#6778)
exigow Jul 24, 2025
70302e2
Merge pull request #6784 from continuedev/tomasz/con-2917-models-not-…
tomasz-stefaniak Jul 24, 2025
f0d35e2
feat: vertex ai openai adapter (#6736)
RomneyDa Jul 24, 2025
da1758e
feat: create `oneper` util script (#6783)
Patrick-Erichsen Jul 24, 2025
ac594e4
fix: oneper script to auto detect os
tingwai Jul 24, 2025
1af5d03
Merge pull request #6787 from continuedev/tingwai/oneper-auto-pick-os
tingwai Jul 25, 2025
9c7c83d
Merge branch 'main' into quick-merge-main-2025-07-25
Jazzcort Jul 25, 2025
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
6 changes: 6 additions & 0 deletions .continue/rules/typescript-enum-usage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
globs: "**/*.{ts,tsx}"
alwaysApply: false
---

Use enums instead of simple string unions when possible in TypeScript code
4 changes: 2 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
- [] The relevant docs, if any, have been updated or created
- [] The relevant tests, if any, have been updated or created

## Screenshots
## Screen recording or screenshot

[ For visual changes, include screenshots. Screen recordings are particularly helpful, and appreciated! ]
[ When applicable, please include a short screen recording or screenshot - this makes it much easier for us as contributors to review and understand your changes. See [this PR](https://github.com/continuedev/continue/pull/6455) as a good example. ]

## Tests

Expand Down
9 changes: 2 additions & 7 deletions .github/workflows/jetbrains-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ jobs:

- name: Bump version in gradle.properties
run: |
cd extensions/intellij
awk '/pluginVersion=/{split($0,a,"="); split(a[2],b,"."); b[3]+=1; printf "%s=%s.%s.%s\n",a[1],b[1],b[2],b[3];next}1' gradle.properties > tmp && mv tmp gradle.properties
rm -rf tmp
NEW_VERSION=$(grep 'pluginVersion=' gradle.properties | cut -d'=' -f2)
Expand Down Expand Up @@ -224,10 +223,6 @@ jobs:
# apple-product-id: dev.continue.continue-binary
# options: --options runtime --entitlements entitlements.xml

# Build plugin
- name: Build plugin
run: ./gradlew buildPlugin

# Publish the plugin to JetBrains Marketplace
- name: Publish EAP Plugin
if: github.event_name == 'release' || github.event.inputs.publish_build == 'true'
Expand All @@ -237,7 +232,7 @@ jobs:
PRIVATE_KEY: ${{ secrets.JETBRAINS_PRIVATE_KEY }}
PRIVATE_KEY_PASSWORD: ${{ secrets.JETBRAINS_PRIVATE_KEY_PASSWORD }}
RELEASE_CHANNEL: eap
run: ./gradlew publishPlugin
run: ./gradlew publishPlugin --info --stacktrace

- name: Publish Stable Plugin
if: github.event_name == 'release' || github.event.inputs.publish_build == 'true'
Expand All @@ -247,7 +242,7 @@ jobs:
PRIVATE_KEY: ${{ secrets.JETBRAINS_PRIVATE_KEY }}
PRIVATE_KEY_PASSWORD: ${{ secrets.JETBRAINS_PRIVATE_KEY_PASSWORD }}
RELEASE_CHANNEL: default
run: ./gradlew publishPlugin
run: ./gradlew publishPlugin --info --stacktrace

# Prepare plugin archive content for creating artifact
- name: Prepare Plugin Artifact
Expand Down
29 changes: 22 additions & 7 deletions .github/workflows/pr_checks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,10 @@ jobs:

install-config-yaml:
needs: install-root
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v4

Expand All @@ -80,7 +83,10 @@ jobs:

install-openai-adapters:
needs: install-root
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -136,7 +142,10 @@ jobs:

install-core:
needs: install-root
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -384,7 +393,10 @@ jobs:
install-vscode:
needs:
[install-root, install-core, install-config-yaml, install-openai-adapters]
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -666,7 +678,10 @@ jobs:
echo "Test files: ${{ steps.vscode-get-test-file-matrix.outputs.test_file_matrix }}"

vscode-package-extension:
runs-on: ubuntu-latest
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
needs:
[
install-vscode,
Expand Down Expand Up @@ -723,7 +738,7 @@ jobs:
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: vscode-extension-build
name: vscode-extension-build-${{ runner.os }}
path: extensions/vscode/build

vscode-download-e2e-dependencies:
Expand Down Expand Up @@ -820,7 +835,7 @@ jobs:
- name: Download build artifact
uses: actions/download-artifact@v4
with:
name: vscode-extension-build
name: vscode-extension-build-Linux
path: extensions/vscode/build

- name: Download e2e dependencies
Expand Down
2 changes: 1 addition & 1 deletion .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ To keep the Continue codebase clean and maintainable, we expect the following fr
- Keep changes focused. Multiple unrelated fixes should be opened as separate PRs
- Write or update tests for new functionality
- Update relevant documentation in the `docs` folder
- **For new features**: Include a short screen recording or screenshot demonstrating the new functionality. This makes it much easier for us as contributors to review and understand your changes. See [this PR](https://github.com/continuedev/continue/pull/6455) as a good example
- Open a PR against the `main` branch. Make sure to fill in the PR template

### Formatting
Expand Down
14 changes: 12 additions & 2 deletions core/autocomplete/CompletionProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { BracketMatchingService } from "./filtering/BracketMatchingService.js";
import { CompletionStreamer } from "./generation/CompletionStreamer.js";
import { postprocessCompletion } from "./postprocessing/index.js";
import { shouldPrefilter } from "./prefiltering/index.js";
import { getAllSnippets } from "./snippets/index.js";
import { getAllSnippetsWithoutRace } from "./snippets/index.js";
import { renderPrompt } from "./templating/index.js";
import { GetLspDefinitionsFunction } from "./types.js";
import { AutocompleteDebouncer } from "./util/AutocompleteDebouncer.js";
Expand Down Expand Up @@ -121,6 +121,12 @@ export class CompletionProvider {
...config?.tabAutocompleteOptions,
...llm.autocompleteOptions,
};

// Enable static contextualization if defined.
if (config?.experimental?.enableStaticContextualization) {
options.experimental_enableStaticContextualization = true;
}

return options;
}

Expand Down Expand Up @@ -171,7 +177,7 @@ export class CompletionProvider {
}

const [snippetPayload, workspaceDirs] = await Promise.all([
getAllSnippets({
getAllSnippetsWithoutRace({
helper,
ide: this.ide,
getDefinitionsFromLsp: this.getDefinitionsFromLsp,
Expand Down Expand Up @@ -258,6 +264,10 @@ export class CompletionProvider {
...helper.options,
};

if (options.experimental_enableStaticContextualization) {
outcome.enabledStaticContextualization = true;
}

//////////

// Save to cache
Expand Down
10 changes: 10 additions & 0 deletions core/autocomplete/context/ContextRetrievalService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,27 @@ import { IDE } from "../..";
import {
AutocompleteCodeSnippet,
AutocompleteSnippetType,
AutocompleteStaticSnippet,
} from "../snippets/types";
import { HelperVars } from "../util/HelperVars";

import { ImportDefinitionsService } from "./ImportDefinitionsService";
import { getSymbolsForSnippet } from "./ranking";
import { RootPathContextService } from "./root-path-context/RootPathContextService";
import { StaticContextService } from "./static-context/StaticContextService";

export class ContextRetrievalService {
private importDefinitionsService: ImportDefinitionsService;
private rootPathContextService: RootPathContextService;
private staticContextService: StaticContextService;

constructor(private readonly ide: IDE) {
this.importDefinitionsService = new ImportDefinitionsService(this.ide);
this.rootPathContextService = new RootPathContextService(
this.importDefinitionsService,
this.ide,
);
this.staticContextService = new StaticContextService(this.ide);
}

public async getSnippetsFromImportDefinitions(
Expand Down Expand Up @@ -71,6 +75,12 @@ export class ContextRetrievalService {
);
}

public async getStaticContextSnippets(
helper: HelperVars,
): Promise<AutocompleteStaticSnippet[]> {
return this.staticContextService.getContext(helper);
}

/**
* Initialize the import definitions cache for a file.
* This is normally done automatically when the active text editor changes,
Expand Down
Loading
Loading