Skip to content
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

Native Editor Insets #139

Merged
merged 112 commits into from
Nov 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
5acc533
add files to make native insets work! #124
andrewpareles Nov 2, 2024
584d026
renders oldText nicely!
andrewpareles Nov 2, 2024
3d62939
backup of a working version
andrewpareles Nov 3, 2024
9d972f7
update and add imports of sendLLMMessage
andrewpareles Nov 3, 2024
fcc8de8
Merge branch 'main' into actual-editor-insets
andrewpareles Nov 3, 2024
e4e1c7f
vscode types in extension
andrewpareles Nov 3, 2024
36c3cd5
add new logging algo and move applyDiffLazily to diffProvider
andrewpareles Nov 3, 2024
a5090b8
simplify
andrewpareles Nov 3, 2024
49072d4
minor changes
andrewpareles Nov 4, 2024
6c93028
misc
andrewpareles Nov 4, 2024
83b9547
add compilation of openai so we can use it internally
andrewpareles Nov 6, 2024
75f97ea
update streaming state
andrewpareles Nov 6, 2024
4a629be
add build script hack
andrewpareles Nov 6, 2024
ada31cc
update build to work in general
andrewpareles Nov 6, 2024
2814c63
drag and drop extension into main
andrewpareles Nov 7, 2024
1c32d3a
update build
andrewpareles Nov 7, 2024
70ce238
back up build
andrewpareles Nov 7, 2024
6b268a4
backup again
andrewpareles Nov 7, 2024
3aece81
move void files around
andrewpareles Nov 7, 2024
3fd4357
progress migrating to native vscode
andrewpareles Nov 8, 2024
932e9fe
progress
andrewpareles Nov 8, 2024
b52f0d8
misc
andrewpareles Nov 9, 2024
8da76e7
big changes + react build pipeline (broken)
andrewpareles Nov 10, 2024
e8ff4d8
revert
andrewpareles Nov 10, 2024
00814d5
misc updates
andrewpareles Nov 10, 2024
01d9964
WORKS
andrewpareles Nov 10, 2024
752ebff
update externals
andrewpareles Nov 11, 2024
5f97a4f
del out/
andrewpareles Nov 11, 2024
1feb7ec
try to fix linting (update package)
andrewpareles Nov 11, 2024
289da6b
fixed linting
andrewpareles Nov 11, 2024
9fc3e41
services work in react
andrewpareles Nov 11, 2024
0cc0640
start adding tailwind
andrewpareles Nov 11, 2024
c4d620c
create scope-tailwind
andrewpareles Nov 11, 2024
9a54a57
move everything to src folder
andrewpareles Nov 11, 2024
1112f79
update imports and tsup
andrewpareles Nov 11, 2024
06819e1
add scope
andrewpareles Nov 11, 2024
008a581
build should work now
andrewpareles Nov 11, 2024
c789ab2
WORKS
andrewpareles Nov 11, 2024
f713a62
add prefix in tailwind.config, apparently adding it in scope-tailwind…
andrewpareles Nov 11, 2024
d01a5fc
delete tailwind.config
andrewpareles Nov 11, 2024
f8f60ef
re-add tailwind for content:['./src2'] tag
andrewpareles Nov 11, 2024
8b9a9c7
prefix
andrewpareles Nov 11, 2024
6e2030d
finish converting react to VS
andrewpareles Nov 12, 2024
4de3f1c
start editing registerInlineDiff
andrewpareles Nov 12, 2024
a5912ba
progress adding diffs
andrewpareles Nov 12, 2024
ee72a2c
registerInlineDiffs progress
andrewpareles Nov 13, 2024
1cf371f
giant updates to registerInlineDiffs
andrewpareles Nov 14, 2024
1fe12d2
make everything revolve around model, not editor
andrewpareles Nov 14, 2024
13f6fd5
build!
andrewpareles Nov 14, 2024
bd49aaf
update noExternal
andrewpareles Nov 14, 2024
047cc03
minor updates trying to get it to build
andrewpareles Nov 14, 2024
f22bc26
getting there...
andrewpareles Nov 14, 2024
b8f3182
.js only might work
andrewpareles Nov 14, 2024
799f6c2
fix build regex?
andrewpareles Nov 14, 2024
a974a5d
works!
andrewpareles Nov 14, 2024
50d2182
works!!
andrewpareles Nov 14, 2024
dbea46b
fix services in React
andrewpareles Nov 14, 2024
a273780
update services to not use a Provider
andrewpareles Nov 14, 2024
84d8662
remove bugs
andrewpareles Nov 14, 2024
878ec1e
fixing bugs
andrewpareles Nov 14, 2024
620b335
update code selection code
andrewpareles Nov 15, 2024
04761c9
Minor changes
mathewpareles Nov 15, 2024
063d931
fix selection using .bind()
andrewpareles Nov 15, 2024
3fc81f1
actions
andrewpareles Nov 15, 2024
2aea2b8
restore diffareas properly
andrewpareles Nov 15, 2024
2ad063e
simplify sweep + refresh
andrewpareles Nov 15, 2024
1ca9408
modelService
andrewpareles Nov 15, 2024
e2b36d7
update VSReadFile
andrewpareles Nov 15, 2024
ea83546
temp remove addtohistory
andrewpareles Nov 15, 2024
f37440c
add colors
andrewpareles Nov 16, 2024
4ac509f
update originalCode to live in Diffs
andrewpareles Nov 16, 2024
1437f59
BEFORE DELETE RESIZE
andrewpareles Nov 16, 2024
8a9e949
realign after write
andrewpareles Nov 16, 2024
c99b1a2
diff works!
andrewpareles Nov 16, 2024
2357977
diffareas refresh on user changes
andrewpareles Nov 17, 2024
abab461
move around
andrewpareles Nov 17, 2024
9f6cacd
+
andrewpareles Nov 17, 2024
689a583
diff styling is pretty consistent
andrewpareles Nov 17, 2024
b6b5dea
diffArea stream highlighting works perfectly!
andrewpareles Nov 17, 2024
c4e29d1
add history back!
andrewpareles Nov 17, 2024
7a33cde
fix findDiffs
andrewpareles Nov 17, 2024
63778d2
add new findDiff test
andrewpareles Nov 17, 2024
e6177d4
fix overlapping green styles
andrewpareles Nov 17, 2024
9d25fab
fix linting
andrewpareles Nov 18, 2024
f5b2dcf
use renderLines instead of custom styles (still doesnt compute line w…
andrewpareles Nov 18, 2024
946ec70
sweep works exceptionally!
andrewpareles Nov 19, 2024
67e9759
make history get added instantly so we can do interrupts
andrewpareles Nov 19, 2024
4c633ee
remove code
andrewpareles Nov 19, 2024
9a591ba
accept/reject works!!
andrewpareles Nov 19, 2024
0c2660e
add history to approve/reject
andrewpareles Nov 19, 2024
cd77542
Autocomplete (max number of pending requests, filter for matchup with…
mathewpareles Nov 19, 2024
0b96901
update error
andrewpareles Nov 20, 2024
0d227f2
add void comment
andrewpareles Nov 20, 2024
c004e1a
add nice visuals for accept | delete and add comments for void
andrewpareles Nov 20, 2024
f3d9893
change from model.id to model.uri and fix listener leak
andrewpareles Nov 20, 2024
077d460
huge revamp to get tabs working. tabs work!
andrewpareles Nov 21, 2024
8508c2d
Merge branch 'main' into actual-editor-insets
andrewpareles Nov 21, 2024
1d73aad
revert FIM testing code
andrewpareles Nov 21, 2024
604578b
update contrib
andrewpareles Nov 21, 2024
2473f21
update contrib
andrewpareles Nov 21, 2024
1cc35b1
fix contrib*
andrewpareles Nov 21, 2024
9dbc7f5
+
andrewpareles Nov 21, 2024
f7d2e95
update contrib
andrewpareles Nov 21, 2024
879595d
Build.js : Fixing tsup command
jcommaret Nov 21, 2024
469bba1
Merge pull request #155 from jcommaret/actual-editor-insets
andrewpareles Nov 21, 2024
faaf3a7
rm console.logs
andrewpareles Nov 21, 2024
1bb243b
comment fixes build
andrewpareles Nov 21, 2024
53d19d8
autocomplete UX
mathewpareles Nov 21, 2024
a50b5c6
add minor debugging
andrewpareles Nov 22, 2024
f6479a0
Merge remote-tracking branch 'origin/main' into actual-editor-insets
andrewpareles Nov 22, 2024
a7cbed3
Merge branch 'autocomplete' into actual-editor-insets
andrewpareles Nov 22, 2024
d857d54
reference extension
andrewpareles Nov 22, 2024
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
18 changes: 8 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,10 @@ There are a few ways to contribute:
- Submit Issues/Docs/Bugs ([Issues](https://github.com/voideditor/void/issues))


## 2. Building the IDE
## Building the full IDE

Please follow the steps below to build the IDE. If you have any questions/issues, you can refer to VSCode's full [How to Contribute](https://github.com/microsoft/vscode/wiki/How-to-Contribute) page. Also feel free to [submit an issue](https://github.com/voideditor/void/issues/new) or get in touch with us with any build errors.
Please follow the steps below to build the IDE. If you have any questions, feel free to [submit an issue](https://github.com/voideditor/void/issues/new) with any build errors, or refer to VSCode's full [How to Contribute](https://github.com/microsoft/vscode/wiki/How-to-Contribute) page.

<!-- TODO say whether you can build each distribution on any Operating System, or if you need to build Windows on Windows, etc -->

### a. Build Prerequisites - Mac

Expand All @@ -23,8 +22,6 @@ If you're using a Mac, make sure you have Python and XCode installed (you probab

If you're using a Windows computer, first get [Visual Studio 2022](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community) (recommended) or [VS Build Tools](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools) (not recommended). If you already have both, you might need to run the next few steps on both of them.

Open the installer for Visual Studio 2022 (or VS Build Tools). This is often automatic.

Go to the "Workloads" tab and select:
- `Desktop development with C++`
- `Node.js build tools`
Expand All @@ -38,21 +35,22 @@ Finally, click Install.

### c. Build Prerequisites - Linux

We haven't created prerequisite steps for building on Linux yet, but you can follow [How to Contribute](https://github.com/microsoft/vscode/wiki/How-to-Contribute).
First, make sure you've installed NodeJS and run `npm install -g node-gyp`. Then:
- Debian (Ubuntu, etc) - `sudo apt-get install build-essential g++ libx11-dev libxkbfile-dev libsecret-1-dev libkrb5-dev python-is-python3`.
- Red Hat (Fedora, etc) - `sudo dnf install @development-tools gcc gcc-c++ make libsecret-devel krb5-devel libX11-devel libxkbfile-devel`.
- Others - see [How to Contribute](https://github.com/microsoft/vscode/wiki/How-to-Contribute).

### Build instructions

Before building Void, please follow the prerequisite steps above for your operating system. Also, make sure you've already built and compiled the Void React components by running `cd ./` (or just run `cd ./extensions/void && npm install && npm run build && npm run compile && cd ../..`).

To build Void, first open `void/` in VSCode. Then:
To build Void, first follow the prerequisite steps above for your operating system and open `void/` inside VSCode. Then:

1. Install all dependencies.

```
npm install
```

2. Build Void's React components by running `cd ./src/vs/workbench/contrib/void/browser/react/`, and executing the build script with `node ./build.js`.
2. Run `cd ./src/vs/workbench/contrib/void/browser/react/` and then `node ./build.js` to build Void's external dependencies (our React components, etc).

3. Press <kbd>Ctrl+Shift+B</kbd>, or if you prefer using the terminal run `npm run watch`.

Expand Down
7 changes: 5 additions & 2 deletions build/npm/dirs.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ const fs = require('fs');

// Complete list of directories where npm should be executed to install node modules
const dirs = [
'extensions/void', // <-- Void

'',
'build',
'extensions',
Expand Down Expand Up @@ -55,6 +53,11 @@ const dirs = [
'test/smoke',
'.vscode/extensions/vscode-selfhost-import-aid',
'.vscode/extensions/vscode-selfhost-test-provider',

// Void added these:
// 'extensions/void',
// 'void-imports',

];

if (fs.existsSync(`${__dirname}/../../.build/distro/npm`)) {
Expand Down
18 changes: 18 additions & 0 deletions build/npm/postinstall.js
Original file line number Diff line number Diff line change
Expand Up @@ -139,3 +139,21 @@ for (let dir of dirs) {

cp.execSync('git config pull.rebase merges');
cp.execSync('git config blame.ignoreRevsFile .git-blame-ignore-revs');


// // Void added this (inject void-imports into project):
// const buildVoidImports = () => {
// console.log('\n\nVoid is injecting void-imports...')
// cp.execSync(`npm install`, { // this goes here, not in postinstall, because we need to
// env: process.env,
// cwd: path.join(__dirname, '..', '..', '/void-imports'),
// stdio: 'inherit'
// });
// cp.execSync(`node build-index.mjs`, {
// env: process.env,
// cwd: path.join(__dirname, '..', '..', '/void-imports'),
// stdio: 'inherit'
// });
// console.log('Done injecting void-imports.')
// }
// buildVoidImports()
56 changes: 0 additions & 56 deletions extensions/void/.eslintrc

This file was deleted.

5 changes: 0 additions & 5 deletions extensions/void/.gitignore

This file was deleted.

5 changes: 0 additions & 5 deletions extensions/void/.vscode-test.mjs

This file was deleted.

8 changes: 0 additions & 8 deletions extensions/void/.vscode/extensions.json

This file was deleted.

22 changes: 0 additions & 22 deletions extensions/void/.vscode/launch.json

This file was deleted.

18 changes: 0 additions & 18 deletions extensions/void/.vscode/settings.json

This file was deleted.

20 changes: 0 additions & 20 deletions extensions/void/.vscode/tasks.json

This file was deleted.

11 changes: 0 additions & 11 deletions extensions/void/.vscodeignore

This file was deleted.

11 changes: 0 additions & 11 deletions extensions/void/README.md

This file was deleted.

64 changes: 0 additions & 64 deletions extensions/void/build/build.js

This file was deleted.

Loading