mirror of
https://github.com/Microsoft/vscode
synced 2024-09-19 18:48:00 +00:00
Merge branch 'main' into joh/langFeatures
This commit is contained in:
commit
aa5e35f7f2
6
.github/workflows/check-clean-git-state.sh
vendored
Executable file
6
.github/workflows/check-clean-git-state.sh
vendored
Executable file
|
@ -0,0 +1,6 @@
|
|||
R=`git status --porcelain | wc -l`
|
||||
if [ "$R" -ne "0" ]; then
|
||||
echo "The git repo is not clean after compiling the /build/ folder. Did you forget to commit .js output for .ts files?";
|
||||
git status --porcelain
|
||||
exit 1;
|
||||
fi
|
6
.github/workflows/ci.yml
vendored
6
.github/workflows/ci.yml
vendored
|
@ -298,6 +298,12 @@ jobs:
|
|||
- name: Run Valid Layers Checks
|
||||
run: yarn valid-layers-check
|
||||
|
||||
- name: Compile /build/
|
||||
run: yarn --cwd build compile
|
||||
|
||||
- name: Check clean git state
|
||||
run: ./.github/workflows/check-clean-git-state.sh
|
||||
|
||||
- name: Run eslint
|
||||
run: yarn eslint
|
||||
|
||||
|
|
|
@ -8,7 +8,6 @@ const vscode_universal_bundler_1 = require("vscode-universal-bundler");
|
|||
const cross_spawn_promise_1 = require("@malept/cross-spawn-promise");
|
||||
const fs = require("fs-extra");
|
||||
const path = require("path");
|
||||
const plist = require("plist");
|
||||
const product = require("../../product.json");
|
||||
async function main() {
|
||||
const buildDir = process.env['AGENT_BUILDDIRECTORY'];
|
||||
|
@ -23,7 +22,6 @@ async function main() {
|
|||
const arm64AsarPath = path.join(arm64AppPath, 'Contents', 'Resources', 'app', 'node_modules.asar');
|
||||
const outAppPath = path.join(buildDir, `VSCode-darwin-${arch}`, appName);
|
||||
const productJsonPath = path.resolve(outAppPath, 'Contents', 'Resources', 'app', 'product.json');
|
||||
const infoPlistPath = path.resolve(outAppPath, 'Contents', 'Info.plist');
|
||||
await (0, vscode_universal_bundler_1.makeUniversalApp)({
|
||||
x64AppPath,
|
||||
arm64AppPath,
|
||||
|
@ -45,12 +43,6 @@ async function main() {
|
|||
darwinUniversalAssetId: 'darwin-universal'
|
||||
});
|
||||
await fs.writeJson(productJsonPath, productJson);
|
||||
let infoPlistString = await fs.readFile(infoPlistPath, 'utf8');
|
||||
let infoPlistJson = plist.parse(infoPlistString);
|
||||
Object.assign(infoPlistJson, {
|
||||
LSRequiresNativeExecution: true
|
||||
});
|
||||
await fs.writeFile(infoPlistPath, plist.build(infoPlistJson), 'utf8');
|
||||
// Verify if native module architecture is correct
|
||||
const findOutput = await (0, cross_spawn_promise_1.spawn)('find', [outAppPath, '-name', 'keytar.node']);
|
||||
const lipoOutput = await (0, cross_spawn_promise_1.spawn)('lipo', ['-archs', findOutput.replace(/\n$/, "")]);
|
||||
|
|
|
@ -9,7 +9,6 @@ import { makeUniversalApp } from 'vscode-universal-bundler';
|
|||
import { spawn } from '@malept/cross-spawn-promise';
|
||||
import * as fs from 'fs-extra';
|
||||
import * as path from 'path';
|
||||
import * as plist from 'plist';
|
||||
import * as product from '../../product.json';
|
||||
|
||||
async function main() {
|
||||
|
@ -27,7 +26,6 @@ async function main() {
|
|||
const arm64AsarPath = path.join(arm64AppPath, 'Contents', 'Resources', 'app', 'node_modules.asar');
|
||||
const outAppPath = path.join(buildDir, `VSCode-darwin-${arch}`, appName);
|
||||
const productJsonPath = path.resolve(outAppPath, 'Contents', 'Resources', 'app', 'product.json');
|
||||
const infoPlistPath = path.resolve(outAppPath, 'Contents', 'Info.plist');
|
||||
|
||||
await makeUniversalApp({
|
||||
x64AppPath,
|
||||
|
@ -52,13 +50,6 @@ async function main() {
|
|||
});
|
||||
await fs.writeJson(productJsonPath, productJson);
|
||||
|
||||
let infoPlistString = await fs.readFile(infoPlistPath, 'utf8');
|
||||
let infoPlistJson = plist.parse(infoPlistString);
|
||||
Object.assign(infoPlistJson, {
|
||||
LSRequiresNativeExecution: true
|
||||
});
|
||||
await fs.writeFile(infoPlistPath, plist.build(infoPlistJson), 'utf8');
|
||||
|
||||
// Verify if native module architecture is correct
|
||||
const findOutput = await spawn('find', [outAppPath, '-name', 'keytar.node'])
|
||||
const lipoOutput = await spawn('lipo', ['-archs', findOutput.replace(/\n$/, "")]);
|
||||
|
|
|
@ -76,7 +76,7 @@ export interface ICommandHandler {
|
|||
#include(vs/editor/common/core/dimension): IDimension
|
||||
#includeAll(vs/editor/common/editorCommon): IScrollEvent
|
||||
#includeAll(vs/editor/common/textModelEvents):
|
||||
#includeAll(vs/editor/common/cursor/cursorEvents):
|
||||
#includeAll(vs/editor/common/cursorEvents):
|
||||
#include(vs/platform/accessibility/common/accessibility): AccessibilitySupport
|
||||
#includeAll(vs/editor/common/config/editorOptions):
|
||||
#include(vs/editor/browser/config/editorConfiguration): IEditorConstructionOptions
|
||||
|
@ -93,7 +93,7 @@ declare namespace monaco.languages {
|
|||
#includeAll(vs/editor/standalone/browser/standaloneLanguages;languages.=>;editorCommon.=>editor.;model.=>editor.;IMarkerData=>editor.IMarkerData):
|
||||
#includeAll(vs/editor/common/languages/languageConfiguration):
|
||||
#includeAll(vs/editor/common/languages;IMarkerData=>editor.IMarkerData;ISingleEditOperation=>editor.ISingleEditOperation;model.=>editor.): Token
|
||||
#include(vs/editor/common/services/language): ILanguageExtensionPoint
|
||||
#include(vs/editor/common/languages/language): ILanguageExtensionPoint
|
||||
#includeAll(vs/editor/standalone/common/monarch/monarchTypes):
|
||||
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "code-oss-dev",
|
||||
"version": "1.64.0",
|
||||
"distro": "82772fba93439d96710bebecd46f52537cb370cd",
|
||||
"distro": "674cec30e4b34119b7567a73aaa391cc67b89422",
|
||||
"author": {
|
||||
"name": "Microsoft Corporation"
|
||||
},
|
||||
|
|
|
@ -47,52 +47,77 @@ if "%INTEGRATION_TEST_ELECTRON_PATH%"=="" (
|
|||
|
||||
:: Tests standalone (AMD)
|
||||
|
||||
echo.
|
||||
echo ### node.js integration tests
|
||||
call .\scripts\test.bat --runGlob **\*.integrationTest.js %*
|
||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||
|
||||
|
||||
:: Tests in the extension host
|
||||
|
||||
set ALL_PLATFORMS_API_TESTS_EXTRA_ARGS=--disable-telemetry --skip-welcome --skip-release-notes --crash-reporter-directory=%VSCODECRASHDIR% --logsPath=%VSCODELOGSDIR% --no-cached-data --disable-updates --disable-keytar --disable-extensions --disable-workspace-trust --user-data-dir=%VSCODEUSERDATADIR%
|
||||
set API_TESTS_EXTRA_ARGS=--disable-telemetry --skip-welcome --skip-release-notes --crash-reporter-directory=%VSCODECRASHDIR% --logsPath=%VSCODELOGSDIR% --no-cached-data --disable-updates --disable-keytar --disable-extensions --disable-workspace-trust --user-data-dir=%VSCODEUSERDATADIR%
|
||||
|
||||
call "%INTEGRATION_TEST_ELECTRON_PATH%" %~dp0\..\extensions\vscode-api-tests\testWorkspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=%~dp0\..\extensions\vscode-api-tests --extensionTestsPath=%~dp0\..\extensions\vscode-api-tests\out\singlefolder-tests %ALL_PLATFORMS_API_TESTS_EXTRA_ARGS%
|
||||
echo.
|
||||
echo ### API tests (folder)
|
||||
call "%INTEGRATION_TEST_ELECTRON_PATH%" %~dp0\..\extensions\vscode-api-tests\testWorkspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=%~dp0\..\extensions\vscode-api-tests --extensionTestsPath=%~dp0\..\extensions\vscode-api-tests\out\singlefolder-tests %API_TESTS_EXTRA_ARGS%
|
||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||
|
||||
call "%INTEGRATION_TEST_ELECTRON_PATH%" %~dp0\..\extensions\vscode-api-tests\testworkspace.code-workspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=%~dp0\..\extensions\vscode-api-tests --extensionTestsPath=%~dp0\..\extensions\vscode-api-tests\out\workspace-tests %ALL_PLATFORMS_API_TESTS_EXTRA_ARGS%
|
||||
echo.
|
||||
echo ### API tests (workspace)
|
||||
call "%INTEGRATION_TEST_ELECTRON_PATH%" %~dp0\..\extensions\vscode-api-tests\testworkspace.code-workspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=%~dp0\..\extensions\vscode-api-tests --extensionTestsPath=%~dp0\..\extensions\vscode-api-tests\out\workspace-tests %API_TESTS_EXTRA_ARGS%
|
||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||
|
||||
call "%INTEGRATION_TEST_ELECTRON_PATH%" %~dp0\..\extensions\vscode-colorize-tests\test --extensionDevelopmentPath=%~dp0\..\extensions\vscode-colorize-tests --extensionTestsPath=%~dp0\..\extensions\vscode-colorize-tests\out %ALL_PLATFORMS_API_TESTS_EXTRA_ARGS%
|
||||
echo.
|
||||
echo ### Colorize tests
|
||||
call "%INTEGRATION_TEST_ELECTRON_PATH%" %~dp0\..\extensions\vscode-colorize-tests\test --extensionDevelopmentPath=%~dp0\..\extensions\vscode-colorize-tests --extensionTestsPath=%~dp0\..\extensions\vscode-colorize-tests\out %API_TESTS_EXTRA_ARGS%
|
||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||
|
||||
call "%INTEGRATION_TEST_ELECTRON_PATH%" %~dp0\..\extensions\typescript-language-features\test-workspace --extensionDevelopmentPath=%~dp0\..\extensions\typescript-language-features --extensionTestsPath=%~dp0\..\extensions\typescript-language-features\out\test\unit --enable-proposed-api=vscode.typescript-language-features %ALL_PLATFORMS_API_TESTS_EXTRA_ARGS%
|
||||
echo.
|
||||
echo ### TypeScript tests
|
||||
call "%INTEGRATION_TEST_ELECTRON_PATH%" %~dp0\..\extensions\typescript-language-features\test-workspace --extensionDevelopmentPath=%~dp0\..\extensions\typescript-language-features --extensionTestsPath=%~dp0\..\extensions\typescript-language-features\out\test\unit --enable-proposed-api=vscode.typescript-language-features %API_TESTS_EXTRA_ARGS%
|
||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||
|
||||
call "%INTEGRATION_TEST_ELECTRON_PATH%" %~dp0\..\extensions\markdown-language-features\test-workspace --extensionDevelopmentPath=%~dp0\..\extensions\markdown-language-features --extensionTestsPath=%~dp0\..\extensions\markdown-language-features\out\test %ALL_PLATFORMS_API_TESTS_EXTRA_ARGS%
|
||||
echo.
|
||||
echo ### Markdown tests
|
||||
call "%INTEGRATION_TEST_ELECTRON_PATH%" %~dp0\..\extensions\markdown-language-features\test-workspace --extensionDevelopmentPath=%~dp0\..\extensions\markdown-language-features --extensionTestsPath=%~dp0\..\extensions\markdown-language-features\out\test %API_TESTS_EXTRA_ARGS%
|
||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||
|
||||
call "%INTEGRATION_TEST_ELECTRON_PATH%" %~dp0\..\extensions\emmet\test-workspace --extensionDevelopmentPath=%~dp0\..\extensions\emmet --extensionTestsPath=%~dp0\..\extensions\emmet\out\test %ALL_PLATFORMS_API_TESTS_EXTRA_ARGS%
|
||||
echo.
|
||||
echo ### Emmet tests
|
||||
call "%INTEGRATION_TEST_ELECTRON_PATH%" %~dp0\..\extensions\emmet\test-workspace --extensionDevelopmentPath=%~dp0\..\extensions\emmet --extensionTestsPath=%~dp0\..\extensions\emmet\out\test %API_TESTS_EXTRA_ARGS%
|
||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||
|
||||
echo.
|
||||
echo ### Git tests
|
||||
for /f "delims=" %%i in ('node -p "require('fs').realpathSync.native(require('os').tmpdir())"') do set TEMPDIR=%%i
|
||||
set GITWORKSPACE=%TEMPDIR%\git-%RANDOM%
|
||||
mkdir %GITWORKSPACE%
|
||||
call "%INTEGRATION_TEST_ELECTRON_PATH%" %GITWORKSPACE% --extensionDevelopmentPath=%~dp0\..\extensions\git --extensionTestsPath=%~dp0\..\extensions\git\out\test --enable-proposed-api=vscode.git %ALL_PLATFORMS_API_TESTS_EXTRA_ARGS%
|
||||
call "%INTEGRATION_TEST_ELECTRON_PATH%" %GITWORKSPACE% --extensionDevelopmentPath=%~dp0\..\extensions\git --extensionTestsPath=%~dp0\..\extensions\git\out\test --enable-proposed-api=vscode.git %API_TESTS_EXTRA_ARGS%
|
||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||
|
||||
echo.
|
||||
echo ### Ipynb tests
|
||||
set IPYNBWORKSPACE=%TEMPDIR%\ipynb-%RANDOM%
|
||||
mkdir %IPYNBWORKSPACE%
|
||||
call "%INTEGRATION_TEST_ELECTRON_PATH%" %IPYNBWORKSPACE% --extensionDevelopmentPath=%~dp0\..\extensions\ipynb --extensionTestsPath=%~dp0\..\extensions\ipynb\out\test %ALL_PLATFORMS_API_TESTS_EXTRA_ARGS%
|
||||
call "%INTEGRATION_TEST_ELECTRON_PATH%" %IPYNBWORKSPACE% --extensionDevelopmentPath=%~dp0\..\extensions\ipynb --extensionTestsPath=%~dp0\..\extensions\ipynb\out\test %API_TESTS_EXTRA_ARGS%
|
||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||
|
||||
|
||||
:: Tests standalone (CommonJS)
|
||||
|
||||
echo.
|
||||
echo ### CSS tests
|
||||
call %~dp0\node-electron.bat %~dp0\..\extensions\css-language-features/server/test/index.js
|
||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||
|
||||
echo.
|
||||
echo ### HTML tests
|
||||
call %~dp0\node-electron.bat %~dp0\..\extensions\html-language-features/server/test/index.js
|
||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||
|
||||
|
||||
:: Cleanup
|
||||
|
||||
rmdir /s /q %VSCODEUSERDATADIR%
|
||||
|
||||
popd
|
||||
|
|
|
@ -14,6 +14,7 @@ fi
|
|||
VSCODEUSERDATADIR=`mktemp -d 2>/dev/null`
|
||||
VSCODECRASHDIR=$ROOT/.build/crashes
|
||||
VSCODELOGSDIR=$ROOT/.build/logs/integration-tests
|
||||
|
||||
cd $ROOT
|
||||
|
||||
# Figure out which Electron to use for running tests
|
||||
|
@ -53,54 +54,87 @@ else
|
|||
echo "Running integration tests with '$INTEGRATION_TEST_ELECTRON_PATH' as build."
|
||||
fi
|
||||
|
||||
if [ -z "$INTEGRATION_TEST_APP_NAME" ]; then
|
||||
after_suite() { true; }
|
||||
else
|
||||
after_suite() { killall $INTEGRATION_TEST_APP_NAME || true; }
|
||||
fi
|
||||
|
||||
|
||||
# Tests standalone (AMD)
|
||||
|
||||
echo
|
||||
echo "### node.js integration tests"
|
||||
echo
|
||||
./scripts/test.sh --runGlob **/*.integrationTest.js "$@"
|
||||
after_suite
|
||||
|
||||
|
||||
# Tests in the extension host
|
||||
|
||||
ALL_PLATFORMS_API_TESTS_EXTRA_ARGS="--disable-telemetry --skip-welcome --skip-release-notes --crash-reporter-directory=$VSCODECRASHDIR --logsPath=$VSCODELOGSDIR --no-cached-data --disable-updates --disable-keytar --disable-extensions --disable-workspace-trust --user-data-dir=$VSCODEUSERDATADIR"
|
||||
API_TESTS_EXTRA_ARGS="--disable-telemetry --skip-welcome --skip-release-notes --crash-reporter-directory=$VSCODECRASHDIR --logsPath=$VSCODELOGSDIR --no-cached-data --disable-updates --disable-keytar --disable-extensions --disable-workspace-trust --user-data-dir=$VSCODEUSERDATADIR"
|
||||
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS $ROOT/extensions/vscode-api-tests/testWorkspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/singlefolder-tests $ALL_PLATFORMS_API_TESTS_EXTRA_ARGS
|
||||
after_suite
|
||||
if [ -z "$INTEGRATION_TEST_APP_NAME" ]; then
|
||||
kill_app() { true; }
|
||||
else
|
||||
kill_app() { killall $INTEGRATION_TEST_APP_NAME || true; }
|
||||
fi
|
||||
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS $ROOT/extensions/vscode-api-tests/testworkspace.code-workspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/workspace-tests $ALL_PLATFORMS_API_TESTS_EXTRA_ARGS
|
||||
after_suite
|
||||
echo
|
||||
echo "### API tests (folder)"
|
||||
echo
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS $ROOT/extensions/vscode-api-tests/testWorkspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/singlefolder-tests $API_TESTS_EXTRA_ARGS
|
||||
kill_app
|
||||
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS $ROOT/extensions/vscode-colorize-tests/test --extensionDevelopmentPath=$ROOT/extensions/vscode-colorize-tests --extensionTestsPath=$ROOT/extensions/vscode-colorize-tests/out $ALL_PLATFORMS_API_TESTS_EXTRA_ARGS
|
||||
after_suite
|
||||
echo
|
||||
echo "### API tests (workspace)"
|
||||
echo
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS $ROOT/extensions/vscode-api-tests/testworkspace.code-workspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/workspace-tests $API_TESTS_EXTRA_ARGS
|
||||
kill_app
|
||||
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS $ROOT/extensions/typescript-language-features/test-workspace --enable-proposed-api=vscode.typescript-language-features --extensionDevelopmentPath=$ROOT/extensions/typescript-language-features --extensionTestsPath=$ROOT/extensions/typescript-language-features/out/test/unit $ALL_PLATFORMS_API_TESTS_EXTRA_ARGS
|
||||
after_suite
|
||||
echo
|
||||
echo "### Colorize tests"
|
||||
echo
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS $ROOT/extensions/vscode-colorize-tests/test --extensionDevelopmentPath=$ROOT/extensions/vscode-colorize-tests --extensionTestsPath=$ROOT/extensions/vscode-colorize-tests/out $API_TESTS_EXTRA_ARGS
|
||||
kill_app
|
||||
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS $ROOT/extensions/markdown-language-features/test-workspace --extensionDevelopmentPath=$ROOT/extensions/markdown-language-features --extensionTestsPath=$ROOT/extensions/markdown-language-features/out/test $ALL_PLATFORMS_API_TESTS_EXTRA_ARGS
|
||||
after_suite
|
||||
echo
|
||||
echo "### TypeScript tests"
|
||||
echo
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS $ROOT/extensions/typescript-language-features/test-workspace --enable-proposed-api=vscode.typescript-language-features --extensionDevelopmentPath=$ROOT/extensions/typescript-language-features --extensionTestsPath=$ROOT/extensions/typescript-language-features/out/test/unit $API_TESTS_EXTRA_ARGS
|
||||
kill_app
|
||||
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS $ROOT/extensions/emmet/test-workspace --extensionDevelopmentPath=$ROOT/extensions/emmet --extensionTestsPath=$ROOT/extensions/emmet/out/test $ALL_PLATFORMS_API_TESTS_EXTRA_ARGS
|
||||
after_suite
|
||||
echo
|
||||
echo "### Markdown tests"
|
||||
echo
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS $ROOT/extensions/markdown-language-features/test-workspace --extensionDevelopmentPath=$ROOT/extensions/markdown-language-features --extensionTestsPath=$ROOT/extensions/markdown-language-features/out/test $API_TESTS_EXTRA_ARGS
|
||||
kill_app
|
||||
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS $(mktemp -d 2>/dev/null) --enable-proposed-api=vscode.git --extensionDevelopmentPath=$ROOT/extensions/git --extensionTestsPath=$ROOT/extensions/git/out/test $ALL_PLATFORMS_API_TESTS_EXTRA_ARGS
|
||||
after_suite
|
||||
echo
|
||||
echo "### Emmet tests"
|
||||
echo
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS $ROOT/extensions/emmet/test-workspace --extensionDevelopmentPath=$ROOT/extensions/emmet --extensionTestsPath=$ROOT/extensions/emmet/out/test $API_TESTS_EXTRA_ARGS
|
||||
kill_app
|
||||
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS $(mktemp -d 2>/dev/null) --extensionDevelopmentPath=$ROOT/extensions/ipynb --extensionTestsPath=$ROOT/extensions/ipynb/out/test $ALL_PLATFORMS_API_TESTS_EXTRA_ARGS
|
||||
after_suite
|
||||
echo
|
||||
echo "### Git tests"
|
||||
echo
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS $(mktemp -d 2>/dev/null) --enable-proposed-api=vscode.git --extensionDevelopmentPath=$ROOT/extensions/git --extensionTestsPath=$ROOT/extensions/git/out/test $API_TESTS_EXTRA_ARGS
|
||||
kill_app
|
||||
|
||||
echo
|
||||
echo "### Ipynb tests"
|
||||
echo
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS $(mktemp -d 2>/dev/null) --extensionDevelopmentPath=$ROOT/extensions/ipynb --extensionTestsPath=$ROOT/extensions/ipynb/out/test $API_TESTS_EXTRA_ARGS
|
||||
kill_app
|
||||
|
||||
|
||||
# Tests standalone (CommonJS)
|
||||
|
||||
echo
|
||||
echo "### CSS tests"
|
||||
echo
|
||||
cd $ROOT/extensions/css-language-features/server && $ROOT/scripts/node-electron.sh test/index.js
|
||||
after_suite
|
||||
|
||||
echo
|
||||
echo "### HTML tests"
|
||||
echo
|
||||
cd $ROOT/extensions/html-language-features/server && $ROOT/scripts/node-electron.sh test/index.js
|
||||
after_suite
|
||||
|
||||
|
||||
# Cleanup
|
||||
|
||||
rm -rf $VSCODEUSERDATADIR
|
||||
|
|
|
@ -26,18 +26,18 @@ set TESTRESOLVER_DATA_FOLDER=%TMP%\testresolverdatafolder-%RANDOM%-%TIME:~6,5%
|
|||
set TESTRESOLVER_LOGS_FOLDER=%VSCODELOGSDIR%\server
|
||||
|
||||
if "%VSCODE_REMOTE_SERVER_PATH%"=="" (
|
||||
echo "Using remote server out of sources for integration tests"
|
||||
echo Using remote server out of sources for integration tests
|
||||
) else (
|
||||
set TESTRESOLVER_INSTALL_BUILTIN_EXTENSION=ms-vscode.vscode-smoketest-check
|
||||
echo "Using %VSCODE_REMOTE_SERVER_PATH% as server path"
|
||||
echo Using '%VSCODE_REMOTE_SERVER_PATH%' as server path
|
||||
)
|
||||
|
||||
set API_TESTS_EXTRA_ARGS=--disable-telemetry --skip-welcome --skip-release-notes --crash-reporter-directory=%VSCODECRASHDIR% --logsPath=%VSCODELOGSDIR% --no-cached-data --disable-updates --disable-keytar --disable-inspect --disable-workspace-trust --user-data-dir=%VSCODEUSERDATADIR%
|
||||
|
||||
:: Figure out which Electron to use for running tests
|
||||
if "%INTEGRATION_TEST_ELECTRON_PATH%"=="" (
|
||||
echo "Storing crash reports into '%VSCODECRASHDIR%'."
|
||||
echo "Storing log files into '%VSCODELOGSDIR%'."
|
||||
echo Storing crash reports into '%VSCODECRASHDIR%'
|
||||
echo Storing log files into '%VSCODELOGSDIR%'
|
||||
|
||||
:: Tests in the extension host running from sources
|
||||
call .\scripts\code.bat --folder-uri=%REMOTE_VSCODE%/vscode-api-tests/testWorkspace --extensionDevelopmentPath=%REMOTE_VSCODE%/vscode-api-tests --extensionTestsPath=%REMOTE_VSCODE%/vscode-api-tests/out/singlefolder-tests %API_TESTS_EXTRA_ARGS%
|
||||
|
@ -46,14 +46,16 @@ if "%INTEGRATION_TEST_ELECTRON_PATH%"=="" (
|
|||
call .\scripts\code.bat --file-uri=%REMOTE_VSCODE%/vscode-api-tests/testworkspace.code-workspace --extensionDevelopmentPath=%REMOTE_VSCODE%/vscode-api-tests --extensionTestsPath=%REMOTE_VSCODE%/vscode-api-tests/out/workspace-tests %API_TESTS_EXTRA_ARGS%
|
||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||
) else (
|
||||
echo "Storing crash reports into '%VSCODECRASHDIR%'."
|
||||
echo "Storing log files into '%VSCODELOGSDIR%'."
|
||||
echo "Using %INTEGRATION_TEST_ELECTRON_PATH% as Electron path"
|
||||
echo Storing crash reports into '%VSCODECRASHDIR%'
|
||||
echo Storing log files into '%VSCODELOGSDIR%'
|
||||
echo Using %INTEGRATION_TEST_ELECTRON_PATH% as Electron path
|
||||
|
||||
:: Run from a built: need to compile all test extensions
|
||||
:: because we run extension tests from their source folders
|
||||
:: and the build bundles extensions into .build webpacked
|
||||
call yarn gulp compile-extension:vscode-api-tests^
|
||||
compile-extension:microsoft-authentication^
|
||||
compile-extension:github-authentication^
|
||||
compile-extension:vscode-test-resolver
|
||||
|
||||
:: Configuration for more verbose output
|
||||
|
|
|
@ -1,21 +1,23 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
realpath() { [[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}"; }
|
||||
ROOT=$(dirname $(dirname $(realpath "$0")))
|
||||
VSCODEUSERDATADIR=`mktemp -d -t 'myuserdatadir'`
|
||||
TESTRESOLVER_DATA_FOLDER=`mktemp -d -t 'testresolverdatafolder'`
|
||||
else
|
||||
ROOT=$(dirname $(dirname $(readlink -f $0)))
|
||||
VSCODEUSERDATADIR=`mktemp -d 2>/dev/null`
|
||||
TESTRESOLVER_DATA_FOLDER=`mktemp -d 2>/dev/null`
|
||||
# --disable-dev-shm-usage --use-gl=swiftshader: when run on docker containers where size of /dev/shm
|
||||
# partition < 64MB which causes OOM failure for chromium compositor that uses the partition for shared memory
|
||||
LINUX_EXTRA_ARGS="--disable-dev-shm-usage --use-gl=swiftshader"
|
||||
fi
|
||||
|
||||
VSCODEUSERDATADIR=`mktemp -d 2>/dev/null`
|
||||
VSCODECRASHDIR=$ROOT/.build/crashes
|
||||
VSCODELOGSDIR=$ROOT/.build/logs/integration-tests-remote
|
||||
TESTRESOLVER_DATA_FOLDER=`mktemp -d 2>/dev/null`
|
||||
|
||||
cd $ROOT
|
||||
|
||||
if [[ "$1" == "" ]]; then
|
||||
AUTHORITY=vscode-remote://test+test
|
||||
EXT_PATH=$ROOT/extensions
|
||||
|
@ -28,25 +30,20 @@ else
|
|||
fi
|
||||
|
||||
export REMOTE_VSCODE=$AUTHORITY$EXT_PATH
|
||||
VSCODECRASHDIR=$ROOT/.build/crashes
|
||||
VSCODELOGSDIR=$ROOT/.build/logs/integration-tests-remote
|
||||
|
||||
# Figure out which Electron to use for running tests
|
||||
if [ -z "$INTEGRATION_TEST_ELECTRON_PATH" ]
|
||||
then
|
||||
echo "Storing crash reports into '$VSCODECRASHDIR'."
|
||||
echo "Storing log files into '$VSCODELOGSDIR'."
|
||||
|
||||
# code.sh makes sure Test Extensions are compiled
|
||||
# Run out of sources: no need to compile as code.sh takes care of it
|
||||
INTEGRATION_TEST_ELECTRON_PATH="./scripts/code.sh"
|
||||
|
||||
# No extra arguments when running out of sources
|
||||
EXTRA_INTEGRATION_TEST_ARGUMENTS=""
|
||||
else
|
||||
|
||||
echo "Storing crash reports into '$VSCODECRASHDIR'."
|
||||
echo "Storing log files into '$VSCODELOGSDIR'."
|
||||
echo "Using $INTEGRATION_TEST_ELECTRON_PATH as Electron path for integration tests"
|
||||
|
||||
echo "Running remote integration tests out of sources."
|
||||
else
|
||||
# Run from a built: need to compile all test extensions
|
||||
# because we run extension tests from their source folders
|
||||
# and the build bundles extensions into .build webpacked
|
||||
|
@ -56,6 +53,9 @@ else
|
|||
compile-extension:typescript-language-features \
|
||||
compile-extension:emmet \
|
||||
compile-extension:git \
|
||||
compile-extension:ipynb \
|
||||
compile-extension:microsoft-authentication \
|
||||
compile-extension:github-authentication \
|
||||
compile-extension-media
|
||||
|
||||
# Configuration for more verbose output
|
||||
|
@ -65,12 +65,10 @@ else
|
|||
|
||||
# Running from a build, we need to enable the vscode-test-resolver extension
|
||||
EXTRA_INTEGRATION_TEST_ARGUMENTS="--extensions-dir=$EXT_PATH --enable-proposed-api=vscode.vscode-test-resolver --enable-proposed-api=vscode.vscode-api-tests --enable-proposed-api=vscode.image-preview --enable-proposed-api=vscode.git"
|
||||
fi
|
||||
|
||||
if [ -z "$INTEGRATION_TEST_APP_NAME" ]; then
|
||||
after_suite() { true; }
|
||||
else
|
||||
after_suite() { killall $INTEGRATION_TEST_APP_NAME || true; }
|
||||
echo "Storing crash reports into '$VSCODECRASHDIR'."
|
||||
echo "Storing log files into '$VSCODELOGSDIR'."
|
||||
echo "Running remote integration tests with $INTEGRATION_TEST_ELECTRON_PATH as build."
|
||||
fi
|
||||
|
||||
export TESTRESOLVER_DATA_FOLDER=$TESTRESOLVER_DATA_FOLDER
|
||||
|
@ -85,29 +83,59 @@ else
|
|||
export TESTRESOLVER_INSTALL_BUILTIN_EXTENSION='ms-vscode.vscode-smoketest-check'
|
||||
fi
|
||||
|
||||
# Tests in the extension host
|
||||
if [ -z "$INTEGRATION_TEST_APP_NAME" ]; then
|
||||
kill_app() { true; }
|
||||
else
|
||||
kill_app() { killall $INTEGRATION_TEST_APP_NAME || true; }
|
||||
fi
|
||||
|
||||
API_TESTS_DEFAULT_EXTRA_ARGS="--disable-telemetry --skip-welcome --skip-release-notes --crash-reporter-directory=$VSCODECRASHDIR --logsPath=$VSCODELOGSDIR --no-cached-data --disable-updates --disable-keytar --disable-inspect --disable-workspace-trust --user-data-dir=$VSCODEUSERDATADIR"
|
||||
API_TESTS_EXTRA_ARGS="--disable-telemetry --skip-welcome --skip-release-notes --crash-reporter-directory=$VSCODECRASHDIR --logsPath=$VSCODELOGSDIR --no-cached-data --disable-updates --disable-keytar --disable-workspace-trust --user-data-dir=$VSCODEUSERDATADIR"
|
||||
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS --folder-uri=$REMOTE_VSCODE/vscode-api-tests/testWorkspace --extensionDevelopmentPath=$REMOTE_VSCODE/vscode-api-tests --extensionTestsPath=$REMOTE_VSCODE/vscode-api-tests/out/singlefolder-tests $API_TESTS_DEFAULT_EXTRA_ARGS $EXTRA_INTEGRATION_TEST_ARGUMENTS
|
||||
after_suite
|
||||
echo
|
||||
echo "### API tests (folder)"
|
||||
echo
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS --folder-uri=$REMOTE_VSCODE/vscode-api-tests/testWorkspace --extensionDevelopmentPath=$REMOTE_VSCODE/vscode-api-tests --extensionTestsPath=$REMOTE_VSCODE/vscode-api-tests/out/singlefolder-tests $API_TESTS_EXTRA_ARGS $EXTRA_INTEGRATION_TEST_ARGUMENTS
|
||||
kill_app
|
||||
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS --file-uri=$REMOTE_VSCODE/vscode-api-tests/testworkspace.code-workspace --extensionDevelopmentPath=$REMOTE_VSCODE/vscode-api-tests --extensionTestsPath=$REMOTE_VSCODE/vscode-api-tests/out/workspace-tests $API_TESTS_DEFAULT_EXTRA_ARGS $EXTRA_INTEGRATION_TEST_ARGUMENTS
|
||||
after_suite
|
||||
echo
|
||||
echo "### API tests (workspace)"
|
||||
echo
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS --file-uri=$REMOTE_VSCODE/vscode-api-tests/testworkspace.code-workspace --extensionDevelopmentPath=$REMOTE_VSCODE/vscode-api-tests --extensionTestsPath=$REMOTE_VSCODE/vscode-api-tests/out/workspace-tests $API_TESTS_EXTRA_ARGS $EXTRA_INTEGRATION_TEST_ARGUMENTS
|
||||
kill_app
|
||||
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS --folder-uri=$REMOTE_VSCODE/typescript-language-features/test-workspace --enable-proposed-api=vscode.typescript-language-features --extensionDevelopmentPath=$REMOTE_VSCODE/typescript-language-features --extensionTestsPath=$REMOTE_VSCODE/typescript-language-features/out/test/unit $API_TESTS_DEFAULT_EXTRA_ARGS $EXTRA_INTEGRATION_TEST_ARGUMENTS
|
||||
after_suite
|
||||
echo
|
||||
echo "### TypeScript tests"
|
||||
echo
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS --folder-uri=$REMOTE_VSCODE/typescript-language-features/test-workspace --enable-proposed-api=vscode.typescript-language-features --extensionDevelopmentPath=$REMOTE_VSCODE/typescript-language-features --extensionTestsPath=$REMOTE_VSCODE/typescript-language-features/out/test/unit $API_TESTS_EXTRA_ARGS $EXTRA_INTEGRATION_TEST_ARGUMENTS
|
||||
kill_app
|
||||
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS --folder-uri=$REMOTE_VSCODE/markdown-language-features/test-workspace --extensionDevelopmentPath=$REMOTE_VSCODE/markdown-language-features --extensionTestsPath=$REMOTE_VSCODE/markdown-language-features/out/test $API_TESTS_DEFAULT_EXTRA_ARGS $EXTRA_INTEGRATION_TEST_ARGUMENTS
|
||||
after_suite
|
||||
echo
|
||||
echo "### Markdown tests"
|
||||
echo
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS --folder-uri=$REMOTE_VSCODE/markdown-language-features/test-workspace --extensionDevelopmentPath=$REMOTE_VSCODE/markdown-language-features --extensionTestsPath=$REMOTE_VSCODE/markdown-language-features/out/test $API_TESTS_EXTRA_ARGS $EXTRA_INTEGRATION_TEST_ARGUMENTS
|
||||
kill_app
|
||||
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS --folder-uri=$REMOTE_VSCODE/emmet/test-workspace --extensionDevelopmentPath=$REMOTE_VSCODE/emmet --extensionTestsPath=$REMOTE_VSCODE/emmet/out/test $API_TESTS_DEFAULT_EXTRA_ARGS $EXTRA_INTEGRATION_TEST_ARGUMENTS
|
||||
after_suite
|
||||
echo
|
||||
echo "### Emmet tests"
|
||||
echo
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS --folder-uri=$REMOTE_VSCODE/emmet/test-workspace --extensionDevelopmentPath=$REMOTE_VSCODE/emmet --extensionTestsPath=$REMOTE_VSCODE/emmet/out/test $API_TESTS_EXTRA_ARGS $EXTRA_INTEGRATION_TEST_ARGUMENTS
|
||||
kill_app
|
||||
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS --folder-uri=$AUTHORITY$(mktemp -d 2>/dev/null) --extensionDevelopmentPath=$REMOTE_VSCODE/git --extensionTestsPath=$REMOTE_VSCODE/git/out/test $API_TESTS_DEFAULT_EXTRA_ARGS $EXTRA_INTEGRATION_TEST_ARGUMENTS
|
||||
after_suite
|
||||
echo
|
||||
echo "### Git tests"
|
||||
echo
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS --folder-uri=$AUTHORITY$(mktemp -d 2>/dev/null) --extensionDevelopmentPath=$REMOTE_VSCODE/git --extensionTestsPath=$REMOTE_VSCODE/git/out/test $API_TESTS_EXTRA_ARGS $EXTRA_INTEGRATION_TEST_ARGUMENTS
|
||||
kill_app
|
||||
|
||||
echo
|
||||
echo "### Ipynb tests"
|
||||
echo
|
||||
"$INTEGRATION_TEST_ELECTRON_PATH" $LINUX_EXTRA_ARGS --folder-uri=$AUTHORITY$(mktemp -d 2>/dev/null) --extensionDevelopmentPath=$REMOTE_VSCODE/ipynb --extensionTestsPath=$REMOTE_VSCODE/ipynb/out/test $API_TESTS_EXTRA_ARGS $EXTRA_INTEGRATION_TEST_ARGUMENTS
|
||||
kill_app
|
||||
|
||||
|
||||
# Cleanup
|
||||
|
||||
# Clean up
|
||||
if [[ "$3" == "" ]]; then
|
||||
rm -rf $VSCODEUSERDATADIR
|
||||
fi
|
||||
|
|
|
@ -18,9 +18,9 @@ IF "%~1" == "" (
|
|||
set REMOTE_VSCODE=%AUTHORITY%%EXT_PATH%
|
||||
|
||||
if "%VSCODE_REMOTE_SERVER_PATH%"=="" (
|
||||
echo "Using remote server out of sources for integration web tests"
|
||||
echo Using remote server out of sources for integration web tests
|
||||
) else (
|
||||
echo "Using %VSCODE_REMOTE_SERVER_PATH% as server path for web integration tests"
|
||||
echo Using '%VSCODE_REMOTE_SERVER_PATH%' as server path for web integration tests
|
||||
|
||||
:: Run from a built: need to compile all test extensions
|
||||
:: because we run extension tests from their source folders
|
||||
|
@ -37,21 +37,34 @@ if not exist ".\test\integration\browser\out\index.js" (
|
|||
call yarn --cwd test/integration/browser compile
|
||||
call yarn playwright-install
|
||||
)
|
||||
|
||||
echo.
|
||||
echo ### API tests (folder)
|
||||
call node .\test\integration\browser\out\index.js --workspacePath=.\extensions\vscode-api-tests\testWorkspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=.\extensions\vscode-api-tests --extensionTestsPath=.\extensions\vscode-api-tests\out\singlefolder-tests %*
|
||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||
|
||||
echo.
|
||||
echo ### API tests (workspace)
|
||||
call node .\test\integration\browser\out\index.js --workspacePath=.\extensions\vscode-api-tests\testworkspace.code-workspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=.\extensions\vscode-api-tests --extensionTestsPath=.\extensions\vscode-api-tests\out\workspace-tests %*
|
||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||
|
||||
echo.
|
||||
echo ### TypeScript tests
|
||||
call node .\test\integration\browser\out\index.js --workspacePath=.\extensions\typescript-language-features\test-workspace --extensionDevelopmentPath=.\extensions\typescript-language-features --extensionTestsPath=.\extensions\typescript-language-features\out\test\unit %*
|
||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||
|
||||
echo.
|
||||
echo ### Markdown tests
|
||||
call node .\test\integration\browser\out\index.js --workspacePath=.\extensions\markdown-language-features\test-workspace --extensionDevelopmentPath=.\extensions\markdown-language-features --extensionTestsPath=.\extensions\markdown-language-features\out\test %*
|
||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||
|
||||
echo.
|
||||
echo ### Emmet tests
|
||||
call node .\test\integration\browser\out\index.js --workspacePath=.\extensions\emmet\test-workspace --extensionDevelopmentPath=.\extensions\emmet --extensionTestsPath=.\extensions\emmet\out\test %*
|
||||
if %errorlevel% neq 0 exit /b %errorlevel%
|
||||
|
||||
echo.
|
||||
echo ### Git tests
|
||||
for /f "delims=" %%i in ('node -p "require('fs').realpathSync.native(require('os').tmpdir())"') do set TEMPDIR=%%i
|
||||
set GITWORKSPACE=%TEMPDIR%\git-%RANDOM%
|
||||
mkdir %GITWORKSPACE%
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
|
@ -33,9 +33,33 @@ if [ ! -e 'test/integration/browser/out/index.js' ];then
|
|||
fi
|
||||
|
||||
# Tests in the extension host
|
||||
|
||||
echo
|
||||
echo "### API tests (folder)"
|
||||
echo
|
||||
node test/integration/browser/out/index.js --workspacePath $ROOT/extensions/vscode-api-tests/testWorkspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/singlefolder-tests "$@"
|
||||
|
||||
echo
|
||||
echo "### API tests (workspace)"
|
||||
echo
|
||||
node test/integration/browser/out/index.js --workspacePath $ROOT/extensions/vscode-api-tests/testworkspace.code-workspace --enable-proposed-api=vscode.vscode-api-tests --extensionDevelopmentPath=$ROOT/extensions/vscode-api-tests --extensionTestsPath=$ROOT/extensions/vscode-api-tests/out/workspace-tests "$@"
|
||||
|
||||
echo
|
||||
echo "### TypeScript tests"
|
||||
echo
|
||||
node test/integration/browser/out/index.js --workspacePath $ROOT/extensions/typescript-language-features/test-workspace --extensionDevelopmentPath=$ROOT/extensions/typescript-language-features --extensionTestsPath=$ROOT/extensions/typescript-language-features/out/test/unit "$@"
|
||||
|
||||
echo
|
||||
echo "### Markdown tests"
|
||||
echo
|
||||
node test/integration/browser/out/index.js --workspacePath $ROOT/extensions/markdown-language-features/test-workspace --extensionDevelopmentPath=$ROOT/extensions/markdown-language-features --extensionTestsPath=$ROOT/extensions/markdown-language-features/out/test "$@"
|
||||
|
||||
echo
|
||||
echo "### Emmet tests"
|
||||
echo
|
||||
node test/integration/browser/out/index.js --workspacePath $ROOT/extensions/emmet/test-workspace --extensionDevelopmentPath=$ROOT/extensions/emmet --extensionTestsPath=$ROOT/extensions/emmet/out/test "$@"
|
||||
|
||||
echo
|
||||
echo "### Git tests"
|
||||
echo
|
||||
node test/integration/browser/out/index.js --workspacePath $(mktemp -d 2>/dev/null) --enable-proposed-api=vscode.git --extensionDevelopmentPath=$ROOT/extensions/git --extensionTestsPath=$ROOT/extensions/git/out/test "$@"
|
||||
|
|
|
@ -12,22 +12,22 @@ import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
|
|||
import { Command, EditorCommand, ICommandOptions, registerEditorCommand, MultiCommand, UndoCommand, RedoCommand, SelectAllCommand } from 'vs/editor/browser/editorExtensions';
|
||||
import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService';
|
||||
import { ColumnSelection, IColumnSelectResult } from 'vs/editor/common/cursor/cursorColumnSelection';
|
||||
import { CursorState, EditOperationType, IColumnSelectData, PartialCursorState } from 'vs/editor/common/cursor/cursorCommon';
|
||||
import { CursorState, EditOperationType, IColumnSelectData, PartialCursorState } from 'vs/editor/common/cursorCommon';
|
||||
import { DeleteOperations } from 'vs/editor/common/cursor/cursorDeleteOperations';
|
||||
import { CursorChangeReason } from 'vs/editor/common/cursor/cursorEvents';
|
||||
import { CursorChangeReason } from 'vs/editor/common/cursorEvents';
|
||||
import { CursorMove as CursorMove_, CursorMoveCommands } from 'vs/editor/common/cursor/cursorMoveCommands';
|
||||
import { TypeOperations } from 'vs/editor/common/cursor/cursorTypeOperations';
|
||||
import { Position } from 'vs/editor/common/core/position';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
import { Handler, ScrollType } from 'vs/editor/common/editorCommon';
|
||||
import { EditorContextKeys } from 'vs/editor/common/editorContextKeys';
|
||||
import { VerticalRevealType } from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { VerticalRevealType } from 'vs/editor/common/viewEvents';
|
||||
import { ICommandHandlerDescription } from 'vs/platform/commands/common/commands';
|
||||
import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { KeybindingWeight, KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
import { IViewModel } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { IViewModel } from 'vs/editor/common/viewModel';
|
||||
|
||||
const CORE_WEIGHT = KeybindingWeight.EditorCore;
|
||||
|
||||
|
|
|
@ -16,9 +16,9 @@ import { EditorZoom } from 'vs/editor/common/config/editorZoom';
|
|||
import { Position } from 'vs/editor/common/core/position';
|
||||
import { Selection } from 'vs/editor/common/core/selection';
|
||||
import { HorizontalPosition } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewModel/viewEventHandler';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewEventHandler';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
|
||||
/**
|
||||
|
|
|
@ -13,13 +13,13 @@ import { EditorLayoutInfo, EditorOption } from 'vs/editor/common/config/editorOp
|
|||
import { Position } from 'vs/editor/common/core/position';
|
||||
import { Range as EditorRange } from 'vs/editor/common/core/range';
|
||||
import { HorizontalPosition } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import { IViewModel } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import { IViewModel } from 'vs/editor/common/viewModel';
|
||||
import { CursorColumns } from 'vs/editor/common/core/cursorColumns';
|
||||
import * as dom from 'vs/base/browser/dom';
|
||||
import { AtomicTabMoveOperations, Direction } from 'vs/editor/common/cursor/cursorAtomicMoveOperations';
|
||||
import { PositionAffinity } from 'vs/editor/common/model';
|
||||
import { InjectedText } from 'vs/editor/common/viewModel/modelLineProjectionData';
|
||||
import { InjectedText } from 'vs/editor/common/modelLineProjectionData';
|
||||
|
||||
const enum HitTestResultType {
|
||||
Unknown,
|
||||
|
|
|
@ -11,7 +11,7 @@ import { IPointerHandlerHelper, MouseHandler, createMouseMoveEventMerger } from
|
|||
import { IMouseTarget } from 'vs/editor/browser/editorBrowser';
|
||||
import { EditorMouseEvent, EditorPointerEventFactory } from 'vs/editor/browser/editorDom';
|
||||
import { ViewController } from 'vs/editor/browser/view/viewController';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import { BrowserFeatures } from 'vs/base/browser/canIUse';
|
||||
import { TextAreaSyntethicEvents } from 'vs/editor/browser/controller/textAreaInput';
|
||||
|
||||
|
|
|
@ -26,8 +26,8 @@ import { Selection } from 'vs/editor/common/core/selection';
|
|||
import { ScrollType } from 'vs/editor/common/editorCommon';
|
||||
import { EndOfLinePreference } from 'vs/editor/common/model';
|
||||
import { RenderingContext, RestrictedRenderingContext, HorizontalPosition } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { AccessibilitySupport } from 'vs/platform/accessibility/common/accessibility';
|
||||
import { IEditorAriaOptions } from 'vs/editor/browser/editorBrowser';
|
||||
import { MOUSE_CURSOR_TEXT_CSS_CLASS_NAME } from 'vs/base/browser/ui/mouseCursor/mouseCursor';
|
||||
|
|
|
@ -7,7 +7,7 @@ import { Event } from 'vs/base/common/event';
|
|||
import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
|
||||
import { IMouseEvent, IMouseWheelEvent } from 'vs/base/browser/mouseEvent';
|
||||
import { OverviewRulerPosition, ConfigurationChangedEvent, EditorLayoutInfo, IComputedEditorOptions, EditorOption, FindComputedEditorOptionValueById, IEditorOptions, IDiffEditorOptions } from 'vs/editor/common/config/editorOptions';
|
||||
import { ICursorPositionChangedEvent, ICursorSelectionChangedEvent } from 'vs/editor/common/cursor/cursorEvents';
|
||||
import { ICursorPositionChangedEvent, ICursorSelectionChangedEvent } from 'vs/editor/common/cursorEvents';
|
||||
import { IPosition, Position } from 'vs/editor/common/core/position';
|
||||
import { IRange, Range } from 'vs/editor/common/core/range';
|
||||
import { Selection } from 'vs/editor/common/core/selection';
|
||||
|
@ -18,8 +18,8 @@ import { IModelContentChangedEvent, IModelDecorationsChangedEvent, IModelLanguag
|
|||
import { OverviewRulerZone } from 'vs/editor/common/viewModel/overviewZoneManager';
|
||||
import { IEditorWhitespace } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IViewModel } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { InjectedText } from 'vs/editor/common/viewModel/modelLineProjectionData';
|
||||
import { IViewModel } from 'vs/editor/common/viewModel';
|
||||
import { InjectedText } from 'vs/editor/common/modelLineProjectionData';
|
||||
import { IDiffComputationResult, ILineChange } from 'vs/editor/common/diff/diffComputer';
|
||||
import { IDimension } from 'vs/editor/common/core/dimension';
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ import { isNonEmptyArray } from 'vs/base/common/arrays';
|
|||
import { ILogService } from 'vs/platform/log/common/log';
|
||||
import { StopWatch } from 'vs/base/common/stopwatch';
|
||||
import { canceled } from 'vs/base/common/errors';
|
||||
import { UnicodeHighlighterOptions } from 'vs/editor/common/languages/unicodeTextModelHighlighter';
|
||||
import { UnicodeHighlighterOptions } from 'vs/editor/common/services/unicodeTextModelHighlighter';
|
||||
import { IEditorWorkerHost } from 'vs/editor/common/services/editorWorkerHost';
|
||||
|
||||
/**
|
||||
|
|
|
@ -11,7 +11,7 @@ import * as strings from 'vs/base/common/strings';
|
|||
import { applyFontInfo } from 'vs/editor/browser/config/domFontInfo';
|
||||
import { LineInjectedText } from 'vs/editor/common/textModelEvents';
|
||||
import { InjectedTextOptions } from 'vs/editor/common/model';
|
||||
import { ILineBreaksComputer, ILineBreaksComputerFactory, ModelLineProjectionData } from 'vs/editor/common/viewModel/modelLineProjectionData';
|
||||
import { ILineBreaksComputer, ILineBreaksComputerFactory, ModelLineProjectionData } from 'vs/editor/common/modelLineProjectionData';
|
||||
|
||||
const ttPolicy = window.trustedTypes?.createPolicy('domLineBreaksComputer', { createHTML: value => value });
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { RenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewModel/viewEventHandler';
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewEventHandler';
|
||||
|
||||
export abstract class DynamicViewOverlay extends ViewEventHandler {
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
import { Position } from 'vs/editor/common/core/position';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
import { ViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
|
||||
import { IViewLayout, ViewModelDecoration } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { IViewLayout, ViewModelDecoration } from 'vs/editor/common/viewModel';
|
||||
|
||||
export interface IViewLines {
|
||||
linesVisibleRangesForRange(range: Range, includeNewLines: boolean): LineVisibleRanges[] | null;
|
||||
|
|
|
@ -42,11 +42,11 @@ import { Range } from 'vs/editor/common/core/range';
|
|||
import { ScrollType } from 'vs/editor/common/editorCommon';
|
||||
import { IEditorConfiguration } from 'vs/editor/common/config/editorConfiguration';
|
||||
import { RenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { ViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewModel/viewEventHandler';
|
||||
import { IViewModel } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewEventHandler';
|
||||
import { IViewModel } from 'vs/editor/common/viewModel';
|
||||
import { IThemeService, getThemeTypeSelector } from 'vs/platform/theme/common/themeService';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
import { PointerHandlerLastRenderData } from 'vs/editor/browser/controller/mouseTarget';
|
||||
|
|
|
@ -10,7 +10,7 @@ import { ViewUserInputEvents } from 'vs/editor/browser/view/viewUserInputEvents'
|
|||
import { Position } from 'vs/editor/common/core/position';
|
||||
import { Selection } from 'vs/editor/common/core/selection';
|
||||
import { IEditorConfiguration } from 'vs/editor/common/config/editorConfiguration';
|
||||
import { IViewModel } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { IViewModel } from 'vs/editor/common/viewModel';
|
||||
import { IMouseWheelEvent } from 'vs/base/browser/mouseEvent';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
import * as platform from 'vs/base/common/platform';
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
import { FastDomNode, createFastDomNode } from 'vs/base/browser/fastDomNode';
|
||||
import { IStringBuilder, createStringBuilder } from 'vs/editor/common/core/stringBuilder';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { ViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
|
||||
|
|
|
@ -11,8 +11,8 @@ import { ViewPart } from 'vs/editor/browser/view/viewPart';
|
|||
import { IStringBuilder } from 'vs/editor/common/core/stringBuilder';
|
||||
import { IEditorConfiguration } from 'vs/editor/common/config/editorConfiguration';
|
||||
import { RenderingContext, RestrictedRenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { ViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
|
||||
import { FastDomNode } from 'vs/base/browser/fastDomNode';
|
||||
import { RenderingContext, RestrictedRenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewModel/viewEventHandler';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewEventHandler';
|
||||
|
||||
export abstract class ViewPart extends ViewEventHandler {
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
import { IKeyboardEvent } from 'vs/base/browser/keyboardEvent';
|
||||
import { IEditorMouseEvent, IMouseTarget, IPartialEditorMouseEvent } from 'vs/editor/browser/editorBrowser';
|
||||
import { ICoordinatesConverter } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { ICoordinatesConverter } from 'vs/editor/common/viewModel';
|
||||
import { IMouseWheelEvent } from 'vs/base/browser/mouseEvent';
|
||||
|
||||
export interface EventCallback<T> {
|
||||
|
|
|
@ -10,8 +10,8 @@ import { PartFingerprint, PartFingerprints, ViewPart } from 'vs/editor/browser/v
|
|||
import { IRange, Range } from 'vs/editor/common/core/range';
|
||||
import { Constants } from 'vs/base/common/uint';
|
||||
import { RenderingContext, RestrictedRenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { ViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
import { IDimension } from 'vs/editor/common/core/dimension';
|
||||
|
|
|
@ -7,8 +7,8 @@ import 'vs/css!./currentLineHighlight';
|
|||
import { DynamicViewOverlay } from 'vs/editor/browser/view/dynamicViewOverlay';
|
||||
import { editorLineHighlight, editorLineHighlightBorder } from 'vs/editor/common/core/editorColorRegistry';
|
||||
import { RenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import * as arrays from 'vs/base/common/arrays';
|
||||
import { registerThemingParticipant } from 'vs/platform/theme/common/themeService';
|
||||
import { Selection } from 'vs/editor/common/core/selection';
|
||||
|
|
|
@ -7,9 +7,9 @@ import 'vs/css!./decorations';
|
|||
import { DynamicViewOverlay } from 'vs/editor/browser/view/dynamicViewOverlay';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
import { HorizontalRange, RenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewModelDecoration } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { ViewModelDecoration } from 'vs/editor/common/viewModel';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
|
||||
export class DecorationsOverlay extends DynamicViewOverlay {
|
||||
|
|
|
@ -11,8 +11,8 @@ import { ScrollableElementChangeOptions, ScrollableElementCreationOptions } from
|
|||
import { PartFingerprint, PartFingerprints, ViewPart } from 'vs/editor/browser/view/viewPart';
|
||||
import { INewScrollPosition, ScrollType } from 'vs/editor/common/editorCommon';
|
||||
import { RenderingContext, RestrictedRenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { registerThemingParticipant, getThemeTypeSelector } from 'vs/platform/theme/common/themeService';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
import { scrollbarShadow, scrollbarSliderActiveBackground, scrollbarSliderBackground, scrollbarSliderHoverBackground } from 'vs/platform/theme/common/colorRegistry';
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
import 'vs/css!./glyphMargin';
|
||||
import { DynamicViewOverlay } from 'vs/editor/browser/view/dynamicViewOverlay';
|
||||
import { RenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
|
||||
|
||||
|
|
|
@ -7,8 +7,8 @@ import 'vs/css!./indentGuides';
|
|||
import { DynamicViewOverlay } from 'vs/editor/browser/view/dynamicViewOverlay';
|
||||
import { editorActiveIndentGuides, editorBracketHighlightingForeground1, editorBracketHighlightingForeground2, editorBracketHighlightingForeground3, editorBracketHighlightingForeground4, editorBracketHighlightingForeground5, editorBracketHighlightingForeground6, editorBracketPairGuideActiveBackground1, editorBracketPairGuideActiveBackground2, editorBracketPairGuideActiveBackground3, editorBracketPairGuideActiveBackground4, editorBracketPairGuideActiveBackground5, editorBracketPairGuideActiveBackground6, editorBracketPairGuideBackground1, editorBracketPairGuideBackground2, editorBracketPairGuideBackground3, editorBracketPairGuideBackground4, editorBracketPairGuideBackground5, editorBracketPairGuideBackground6, editorIndentGuides } from 'vs/editor/common/core/editorColorRegistry';
|
||||
import { RenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { registerThemingParticipant } from 'vs/platform/theme/common/themeService';
|
||||
import { EditorOption, InternalGuidesOptions } from 'vs/editor/common/config/editorOptions';
|
||||
import { Position } from 'vs/editor/common/core/position';
|
||||
|
|
|
@ -10,8 +10,8 @@ import { RenderLineNumbersType, EditorOption } from 'vs/editor/common/config/edi
|
|||
import { Position } from 'vs/editor/common/core/position';
|
||||
import { editorActiveLineNumber, editorLineNumbers } from 'vs/editor/common/core/editorColorRegistry';
|
||||
import { RenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { registerThemingParticipant } from 'vs/platform/theme/common/themeService';
|
||||
|
||||
export class LineNumbersOverlay extends DynamicViewOverlay {
|
||||
|
|
|
@ -14,7 +14,7 @@ import { FloatHorizontalRange, VisibleRanges } from 'vs/editor/browser/view/rend
|
|||
import { LineDecoration } from 'vs/editor/common/viewLayout/lineDecorations';
|
||||
import { CharacterMapping, ForeignElementType, RenderLineInput, renderViewLine, LineRange, DomPosition } from 'vs/editor/common/viewLayout/viewLineRenderer';
|
||||
import { ViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
|
||||
import { InlineDecorationType } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { InlineDecorationType } from 'vs/editor/common/viewModel';
|
||||
import { ColorScheme } from 'vs/platform/theme/common/theme';
|
||||
import { EditorOption, EditorFontLigatures } from 'vs/editor/common/config/editorOptions';
|
||||
|
||||
|
|
|
@ -16,10 +16,10 @@ import { Range } from 'vs/editor/common/core/range';
|
|||
import { Selection } from 'vs/editor/common/core/selection';
|
||||
import { ScrollType } from 'vs/editor/common/editorCommon';
|
||||
import { IViewLines, LineVisibleRanges, VisibleRanges, HorizontalPosition, HorizontalRange } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { ViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
|
||||
import { Viewport } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { Viewport } from 'vs/editor/common/viewModel';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
import { Constants } from 'vs/base/common/uint';
|
||||
import { MOUSE_CURSOR_TEXT_CSS_CLASS_NAME } from 'vs/base/browser/ui/mouseCursor/mouseCursor';
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
import 'vs/css!./linesDecorations';
|
||||
import { DecorationToRender, DedupOverlay } from 'vs/editor/browser/viewParts/glyphMargin/glyphMargin';
|
||||
import { RenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
import { FastDomNode, createFastDomNode } from 'vs/base/browser/fastDomNode';
|
||||
import { ViewPart } from 'vs/editor/browser/view/viewPart';
|
||||
import { RenderingContext, RestrictedRenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
import 'vs/css!./marginDecorations';
|
||||
import { DecorationToRender, DedupOverlay } from 'vs/editor/browser/viewParts/glyphMargin/glyphMargin';
|
||||
import { RenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
|
||||
export class MarginViewLineDecorationsOverlay extends DedupOverlay {
|
||||
private readonly _context: ViewContext;
|
||||
|
|
|
@ -23,9 +23,9 @@ import { MinimapCharRenderer } from 'vs/editor/browser/viewParts/minimap/minimap
|
|||
import { Constants } from 'vs/editor/browser/viewParts/minimap/minimapCharSheet';
|
||||
import { MinimapTokensColorTracker } from 'vs/editor/common/viewModel/minimapTokensColorTracker';
|
||||
import { RenderingContext, RestrictedRenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext, EditorTheme } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewLineData, ViewModelDecoration } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { ViewContext, EditorTheme } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { ViewLineData, ViewModelDecoration } from 'vs/editor/common/viewModel';
|
||||
import { minimapSelection, scrollbarShadow, minimapBackground, minimapSliderBackground, minimapSliderHoverBackground, minimapSliderActiveBackground, minimapForegroundOpacity } from 'vs/platform/theme/common/colorRegistry';
|
||||
import { registerThemingParticipant } from 'vs/platform/theme/common/themeService';
|
||||
import { ModelDecorationMinimapOptions } from 'vs/editor/common/model/textModel';
|
||||
|
|
|
@ -8,8 +8,8 @@ import { FastDomNode, createFastDomNode } from 'vs/base/browser/fastDomNode';
|
|||
import { IOverlayWidget, OverlayWidgetPositionPreference } from 'vs/editor/browser/editorBrowser';
|
||||
import { PartFingerprint, PartFingerprints, ViewPart } from 'vs/editor/browser/view/viewPart';
|
||||
import { RenderingContext, RestrictedRenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
|
||||
|
||||
|
|
|
@ -12,10 +12,10 @@ import { IEditorConfiguration } from 'vs/editor/common/config/editorConfiguratio
|
|||
import { TokenizationRegistry } from 'vs/editor/common/languages';
|
||||
import { editorCursorForeground, editorOverviewRulerBorder, editorOverviewRulerBackground } from 'vs/editor/common/core/editorColorRegistry';
|
||||
import { RenderingContext, RestrictedRenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext, EditorTheme } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext, EditorTheme } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
import { OverviewRulerDecorationsGroup } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { OverviewRulerDecorationsGroup } from 'vs/editor/common/viewModel';
|
||||
|
||||
class Settings {
|
||||
|
||||
|
|
|
@ -7,9 +7,9 @@ import { FastDomNode, createFastDomNode } from 'vs/base/browser/fastDomNode';
|
|||
import { IOverviewRuler } from 'vs/editor/browser/editorBrowser';
|
||||
import { OverviewRulerPosition, EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
import { ColorZone, OverviewRulerZone, OverviewZoneManager } from 'vs/editor/common/viewModel/overviewZoneManager';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewModel/viewEventHandler';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewEventHandler';
|
||||
|
||||
export class OverviewRuler extends ViewEventHandler implements IOverviewRuler {
|
||||
|
||||
|
|
|
@ -8,8 +8,8 @@ import { FastDomNode, createFastDomNode } from 'vs/base/browser/fastDomNode';
|
|||
import { ViewPart } from 'vs/editor/browser/view/viewPart';
|
||||
import { editorRuler } from 'vs/editor/common/core/editorColorRegistry';
|
||||
import { RenderingContext, RestrictedRenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { registerThemingParticipant } from 'vs/platform/theme/common/themeService';
|
||||
import { EditorOption, IRulerOption } from 'vs/editor/common/config/editorOptions';
|
||||
|
||||
|
|
|
@ -7,8 +7,8 @@ import 'vs/css!./scrollDecoration';
|
|||
import { FastDomNode, createFastDomNode } from 'vs/base/browser/fastDomNode';
|
||||
import { ViewPart } from 'vs/editor/browser/view/viewPart';
|
||||
import { RenderingContext, RestrictedRenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { scrollbarShadow } from 'vs/platform/theme/common/colorRegistry';
|
||||
import { registerThemingParticipant } from 'vs/platform/theme/common/themeService';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
|
|
|
@ -7,8 +7,8 @@ import 'vs/css!./selections';
|
|||
import { DynamicViewOverlay } from 'vs/editor/browser/view/dynamicViewOverlay';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
import { HorizontalRange, LineVisibleRanges, RenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { editorInactiveSelection, editorSelectionBackground, editorSelectionForeground } from 'vs/platform/theme/common/colorRegistry';
|
||||
import { registerThemingParticipant } from 'vs/platform/theme/common/themeService';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
|
|
|
@ -11,8 +11,8 @@ import { TextEditorCursorStyle, EditorOption } from 'vs/editor/common/config/edi
|
|||
import { Position } from 'vs/editor/common/core/position';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
import { RenderingContext, RestrictedRenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { MOUSE_CURSOR_TEXT_CSS_CLASS_NAME } from 'vs/base/browser/ui/mouseCursor/mouseCursor';
|
||||
|
||||
export interface IViewCursorRenderData {
|
||||
|
|
|
@ -12,8 +12,8 @@ import { TextEditorCursorBlinkingStyle, TextEditorCursorStyle, EditorOption } fr
|
|||
import { Position } from 'vs/editor/common/core/position';
|
||||
import { editorCursorBackground, editorCursorForeground } from 'vs/editor/common/core/editorColorRegistry';
|
||||
import { RenderingContext, RestrictedRenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { registerThemingParticipant } from 'vs/platform/theme/common/themeService';
|
||||
|
||||
export class ViewCursors extends ViewPart {
|
||||
|
|
|
@ -9,9 +9,9 @@ import { IViewZone, IViewZoneChangeAccessor } from 'vs/editor/browser/editorBrow
|
|||
import { ViewPart } from 'vs/editor/browser/view/viewPart';
|
||||
import { Position } from 'vs/editor/common/core/position';
|
||||
import { RenderingContext, RestrictedRenderingContext } from 'vs/editor/browser/view/renderingContext';
|
||||
import { ViewContext } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { IViewWhitespaceViewportData } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { ViewContext } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { IViewWhitespaceViewportData } from 'vs/editor/common/viewModel';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
import { IWhitespaceChangeAccessor, IEditorWhitespace } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ import { ViewUserInputEvents } from 'vs/editor/browser/view/viewUserInputEvents'
|
|||
import { ConfigurationChangedEvent, EditorLayoutInfo, IEditorOptions, EditorOption, IComputedEditorOptions, FindComputedEditorOptionValueById, filterValidationDecorations } from 'vs/editor/common/config/editorOptions';
|
||||
import { CursorsController } from 'vs/editor/common/cursor/cursor';
|
||||
import { CursorColumns } from 'vs/editor/common/core/cursorColumns';
|
||||
import { CursorChangeReason, ICursorPositionChangedEvent, ICursorSelectionChangedEvent } from 'vs/editor/common/cursor/cursorEvents';
|
||||
import { CursorChangeReason, ICursorPositionChangedEvent, ICursorSelectionChangedEvent } from 'vs/editor/common/cursorEvents';
|
||||
import { IPosition, Position } from 'vs/editor/common/core/position';
|
||||
import { IRange, Range } from 'vs/editor/common/core/range';
|
||||
import { ISelection, Selection } from 'vs/editor/common/core/selection';
|
||||
|
@ -41,7 +41,7 @@ import { IModelContentChangedEvent, IModelDecorationsChangedEvent, IModelLanguag
|
|||
import * as modes from 'vs/editor/common/languages';
|
||||
import { editorUnnecessaryCodeBorder, editorUnnecessaryCodeOpacity } from 'vs/editor/common/core/editorColorRegistry';
|
||||
import { editorErrorBorder, editorErrorForeground, editorHintBorder, editorHintForeground, editorInfoBorder, editorInfoForeground, editorWarningBorder, editorWarningForeground, editorForeground, editorErrorBackground, editorInfoBackground, editorWarningBackground } from 'vs/platform/theme/common/colorRegistry';
|
||||
import { VerticalRevealType } from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { VerticalRevealType } from 'vs/editor/common/viewEvents';
|
||||
import { IEditorWhitespace } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { ViewModel } from 'vs/editor/common/viewModel/viewModelImpl';
|
||||
import { ICommandService } from 'vs/platform/commands/common/commands';
|
||||
|
@ -55,8 +55,8 @@ import { withNullAsUndefined } from 'vs/base/common/types';
|
|||
import { MonospaceLineBreaksComputerFactory } from 'vs/editor/common/viewModel/monospaceLineBreaksComputer';
|
||||
import { DOMLineBreaksComputerFactory } from 'vs/editor/browser/view/domLineBreaksComputer';
|
||||
import { WordOperations } from 'vs/editor/common/cursor/cursorWordOperations';
|
||||
import { IViewModel } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { OutgoingViewModelEventKind } from 'vs/editor/common/viewModel/viewModelEventDispatcher';
|
||||
import { IViewModel } from 'vs/editor/common/viewModel';
|
||||
import { OutgoingViewModelEventKind } from 'vs/editor/common/viewModelEventDispatcher';
|
||||
import { ILanguageConfigurationService } from 'vs/editor/common/languages/languageConfigurationRegistry';
|
||||
import { applyFontInfo } from 'vs/editor/browser/config/domFontInfo';
|
||||
import { IEditorConfiguration } from 'vs/editor/common/config/editorConfiguration';
|
||||
|
|
|
@ -32,7 +32,7 @@ import { OverviewRulerZone } from 'vs/editor/common/viewModel/overviewZoneManage
|
|||
import { LineDecoration } from 'vs/editor/common/viewLayout/lineDecorations';
|
||||
import { RenderLineInput, renderViewLine } from 'vs/editor/common/viewLayout/viewLineRenderer';
|
||||
import { IEditorWhitespace } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { InlineDecoration, InlineDecorationType, IViewModel, ViewLineRenderingData } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { InlineDecoration, InlineDecorationType, IViewModel, ViewLineRenderingData } from 'vs/editor/common/viewModel';
|
||||
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
|
||||
|
@ -52,7 +52,7 @@ import { MOUSE_CURSOR_TEXT_CSS_CLASS_NAME } from 'vs/base/browser/ui/mouseCursor
|
|||
import { IViewLineTokens } from 'vs/editor/common/tokens/lineTokens';
|
||||
import { FontInfo } from 'vs/editor/common/config/fontInfo';
|
||||
import { registerIcon } from 'vs/platform/theme/common/iconRegistry';
|
||||
import { ILineBreaksComputer } from 'vs/editor/common/viewModel/modelLineProjectionData';
|
||||
import { ILineBreaksComputer } from 'vs/editor/common/modelLineProjectionData';
|
||||
import { IChange, IDiffComputationResult, ILineChange } from 'vs/editor/common/diff/diffComputer';
|
||||
import { IEditorConstructionOptions } from 'vs/editor/browser/config/editorConfiguration';
|
||||
import { IDimension } from 'vs/editor/common/core/dimension';
|
||||
|
|
|
@ -8,7 +8,7 @@ import { Emitter, Event } from 'vs/base/common/event';
|
|||
import { Disposable } from 'vs/base/common/lifecycle';
|
||||
import * as objects from 'vs/base/common/objects';
|
||||
import { IDiffEditor } from 'vs/editor/browser/editorBrowser';
|
||||
import { ICursorPositionChangedEvent } from 'vs/editor/common/cursor/cursorEvents';
|
||||
import { ICursorPositionChangedEvent } from 'vs/editor/common/cursorEvents';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
import { ILineChange } from 'vs/editor/common/diff/diffComputer';
|
||||
import { ScrollType } from 'vs/editor/common/editorCommon';
|
||||
|
|
|
@ -24,7 +24,7 @@ import { ScrollType } from 'vs/editor/common/editorCommon';
|
|||
import { ITextModel, TextModelResolvedOptions } from 'vs/editor/common/model';
|
||||
import { editorLineNumbers } from 'vs/editor/common/core/editorColorRegistry';
|
||||
import { RenderLineInput, renderViewLine2 as renderViewLine } from 'vs/editor/common/viewLayout/viewLineRenderer';
|
||||
import { ViewLineRenderingData } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { ViewLineRenderingData } from 'vs/editor/common/viewModel';
|
||||
import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { KeybindingWeight } from 'vs/platform/keybinding/common/keybindingsRegistry';
|
||||
import { scrollbarShadow } from 'vs/platform/theme/common/colorRegistry';
|
||||
|
@ -33,7 +33,7 @@ import { Constants } from 'vs/base/common/uint';
|
|||
import { Codicon } from 'vs/base/common/codicons';
|
||||
import { registerIcon } from 'vs/platform/theme/common/iconRegistry';
|
||||
import { ILanguageIdCodec } from 'vs/editor/common/languages';
|
||||
import { ILanguageService } from 'vs/editor/common/services/language';
|
||||
import { ILanguageService } from 'vs/editor/common/languages/language';
|
||||
import { ILineChange } from 'vs/editor/common/diff/diffComputer';
|
||||
|
||||
const DIFF_LINES_PADDING = 3;
|
||||
|
|
40
src/vs/editor/common/core/indentation.ts
Normal file
40
src/vs/editor/common/core/indentation.ts
Normal file
|
@ -0,0 +1,40 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as strings from 'vs/base/common/strings';
|
||||
|
||||
function _normalizeIndentationFromWhitespace(str: string, indentSize: number, insertSpaces: boolean): string {
|
||||
let spacesCnt = 0;
|
||||
for (let i = 0; i < str.length; i++) {
|
||||
if (str.charAt(i) === '\t') {
|
||||
spacesCnt += indentSize;
|
||||
} else {
|
||||
spacesCnt++;
|
||||
}
|
||||
}
|
||||
|
||||
let result = '';
|
||||
if (!insertSpaces) {
|
||||
const tabsCnt = Math.floor(spacesCnt / indentSize);
|
||||
spacesCnt = spacesCnt % indentSize;
|
||||
for (let i = 0; i < tabsCnt; i++) {
|
||||
result += '\t';
|
||||
}
|
||||
}
|
||||
|
||||
for (let i = 0; i < spacesCnt; i++) {
|
||||
result += ' ';
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
export function normalizeIndentation(str: string, indentSize: number, insertSpaces: boolean): string {
|
||||
let firstNonWhitespaceIndex = strings.firstNonWhitespaceIndex(str);
|
||||
if (firstNonWhitespaceIndex === -1) {
|
||||
firstNonWhitespaceIndex = str.length;
|
||||
}
|
||||
return _normalizeIndentationFromWhitespace(str.substring(0, firstNonWhitespaceIndex), indentSize, insertSpaces) + str.substring(firstNonWhitespaceIndex);
|
||||
}
|
|
@ -6,9 +6,9 @@
|
|||
import { onUnexpectedError } from 'vs/base/common/errors';
|
||||
import * as strings from 'vs/base/common/strings';
|
||||
import { CursorCollection } from 'vs/editor/common/cursor/cursorCollection';
|
||||
import { CursorConfiguration, CursorContext, CursorState, EditOperationResult, EditOperationType, IColumnSelectData, PartialCursorState, ICursorSimpleModel } from 'vs/editor/common/cursor/cursorCommon';
|
||||
import { CursorConfiguration, CursorContext, CursorState, EditOperationResult, EditOperationType, IColumnSelectData, PartialCursorState, ICursorSimpleModel } from 'vs/editor/common/cursorCommon';
|
||||
import { DeleteOperations } from 'vs/editor/common/cursor/cursorDeleteOperations';
|
||||
import { CursorChangeReason } from 'vs/editor/common/cursor/cursorEvents';
|
||||
import { CursorChangeReason } from 'vs/editor/common/cursorEvents';
|
||||
import { TypeOperations, TypeWithAutoClosingCommand } from 'vs/editor/common/cursor/cursorTypeOperations';
|
||||
import { Position } from 'vs/editor/common/core/position';
|
||||
import { Range, IRange } from 'vs/editor/common/core/range';
|
||||
|
@ -16,10 +16,10 @@ import { ISelection, Selection, SelectionDirection } from 'vs/editor/common/core
|
|||
import * as editorCommon from 'vs/editor/common/editorCommon';
|
||||
import { ITextModel, TrackedRangeStickiness, IModelDeltaDecoration, ICursorStateComputer, IIdentifiedSingleEditOperation, IValidEditOperation } from 'vs/editor/common/model';
|
||||
import { RawContentChangedType, ModelRawContentChangedEvent, ModelInjectedTextChangedEvent } from 'vs/editor/common/textModelEvents';
|
||||
import { VerticalRevealType, ViewCursorStateChangedEvent, ViewRevealRangeRequestEvent } from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { VerticalRevealType, ViewCursorStateChangedEvent, ViewRevealRangeRequestEvent } from 'vs/editor/common/viewEvents';
|
||||
import { dispose, Disposable } from 'vs/base/common/lifecycle';
|
||||
import { ICoordinatesConverter } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { CursorStateChangedEvent, ViewModelEventsCollector } from 'vs/editor/common/viewModel/viewModelEventDispatcher';
|
||||
import { ICoordinatesConverter } from 'vs/editor/common/viewModel';
|
||||
import { CursorStateChangedEvent, ViewModelEventsCollector } from 'vs/editor/common/viewModelEventDispatcher';
|
||||
|
||||
export class CursorsController extends Disposable {
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { compareBy, findLastMaxBy, findMinBy } from 'vs/base/common/arrays';
|
||||
import { CursorContext, CursorState, PartialCursorState } from 'vs/editor/common/cursor/cursorCommon';
|
||||
import { CursorContext, CursorState, PartialCursorState } from 'vs/editor/common/cursorCommon';
|
||||
import { Cursor } from 'vs/editor/common/cursor/oneCursor';
|
||||
import { Position } from 'vs/editor/common/core/position';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { CursorConfiguration, ICursorSimpleModel, SingleCursorState, IColumnSelectData } from 'vs/editor/common/cursor/cursorCommon';
|
||||
import { CursorConfiguration, ICursorSimpleModel, SingleCursorState, IColumnSelectData } from 'vs/editor/common/cursorCommon';
|
||||
import { Position } from 'vs/editor/common/core/position';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
import * as strings from 'vs/base/common/strings';
|
||||
import { ReplaceCommand } from 'vs/editor/common/commands/replaceCommand';
|
||||
import { EditorAutoClosingEditStrategy, EditorAutoClosingStrategy } from 'vs/editor/common/config/editorOptions';
|
||||
import { CursorConfiguration, EditOperationResult, EditOperationType, ICursorSimpleModel, isQuote } from 'vs/editor/common/cursor/cursorCommon';
|
||||
import { CursorConfiguration, EditOperationResult, EditOperationType, ICursorSimpleModel, isQuote } from 'vs/editor/common/cursorCommon';
|
||||
import { CursorColumns } from 'vs/editor/common/core/cursorColumns';
|
||||
import { MoveOperations } from 'vs/editor/common/cursor/cursorMoveOperations';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
|
|
|
@ -4,13 +4,13 @@
|
|||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as types from 'vs/base/common/types';
|
||||
import { CursorState, ICursorSimpleModel, PartialCursorState, SingleCursorState } from 'vs/editor/common/cursor/cursorCommon';
|
||||
import { CursorState, ICursorSimpleModel, PartialCursorState, SingleCursorState } from 'vs/editor/common/cursorCommon';
|
||||
import { MoveOperations } from 'vs/editor/common/cursor/cursorMoveOperations';
|
||||
import { WordOperations } from 'vs/editor/common/cursor/cursorWordOperations';
|
||||
import { IPosition, Position } from 'vs/editor/common/core/position';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
import { ICommandHandlerDescription } from 'vs/platform/commands/common/commands';
|
||||
import { IViewModel } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { IViewModel } from 'vs/editor/common/viewModel';
|
||||
|
||||
export class CursorMoveCommands {
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { CursorConfiguration, ICursorSimpleModel, SingleCursorState } from 'vs/editor/common/cursor/cursorCommon';
|
||||
import { CursorConfiguration, ICursorSimpleModel, SingleCursorState } from 'vs/editor/common/cursorCommon';
|
||||
import { CursorColumns } from 'vs/editor/common/core/cursorColumns';
|
||||
import { Position } from 'vs/editor/common/core/position';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
|
|
|
@ -9,7 +9,7 @@ import * as strings from 'vs/base/common/strings';
|
|||
import { ReplaceCommand, ReplaceCommandWithOffsetCursorState, ReplaceCommandWithoutChangingPosition, ReplaceCommandThatPreservesSelection } from 'vs/editor/common/commands/replaceCommand';
|
||||
import { ShiftCommand } from 'vs/editor/common/commands/shiftCommand';
|
||||
import { SurroundSelectionCommand } from 'vs/editor/common/commands/surroundSelectionCommand';
|
||||
import { CursorConfiguration, EditOperationResult, EditOperationType, ICursorSimpleModel, isQuote } from 'vs/editor/common/cursor/cursorCommon';
|
||||
import { CursorConfiguration, EditOperationResult, EditOperationType, ICursorSimpleModel, isQuote } from 'vs/editor/common/cursorCommon';
|
||||
import { WordCharacterClass, getMapForWordSeparators } from 'vs/editor/common/core/wordCharacterClassifier';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
import { Selection } from 'vs/editor/common/core/selection';
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
import { CharCode } from 'vs/base/common/charCode';
|
||||
import * as strings from 'vs/base/common/strings';
|
||||
import { EditorAutoClosingEditStrategy, EditorAutoClosingStrategy } from 'vs/editor/common/config/editorOptions';
|
||||
import { CursorConfiguration, ICursorSimpleModel, SingleCursorState } from 'vs/editor/common/cursor/cursorCommon';
|
||||
import { CursorConfiguration, ICursorSimpleModel, SingleCursorState } from 'vs/editor/common/cursorCommon';
|
||||
import { DeleteOperations } from 'vs/editor/common/cursor/cursorDeleteOperations';
|
||||
import { WordCharacterClass, WordCharacterClassifier, getMapForWordSeparators } from 'vs/editor/common/core/wordCharacterClassifier';
|
||||
import { Position } from 'vs/editor/common/core/position';
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { CursorContext, CursorState, ICursorSimpleModel, SingleCursorState } from 'vs/editor/common/cursor/cursorCommon';
|
||||
import { CursorContext, CursorState, ICursorSimpleModel, SingleCursorState } from 'vs/editor/common/cursorCommon';
|
||||
import { Position } from 'vs/editor/common/core/position';
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
import { Selection } from 'vs/editor/common/core/selection';
|
||||
|
|
|
@ -11,13 +11,13 @@ import { ISelection, Selection } from 'vs/editor/common/core/selection';
|
|||
import { ICommand } from 'vs/editor/common/editorCommon';
|
||||
import { IEditorConfiguration } from 'vs/editor/common/config/editorConfiguration';
|
||||
import { ITextModel, PositionAffinity, TextModelResolvedOptions } from 'vs/editor/common/model';
|
||||
import { TextModel } from 'vs/editor/common/model/textModel';
|
||||
import { AutoClosingPairs } from 'vs/editor/common/languages/languageConfiguration';
|
||||
import { ILanguageConfigurationService } from 'vs/editor/common/languages/languageConfigurationRegistry';
|
||||
import { createScopedLineTokens } from 'vs/editor/common/languages/supports';
|
||||
import { IElectricAction } from 'vs/editor/common/languages/supports/electricCharacter';
|
||||
import { ICoordinatesConverter } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { ICoordinatesConverter } from 'vs/editor/common/viewModel';
|
||||
import { CursorColumns } from 'vs/editor/common/core/cursorColumns';
|
||||
import { normalizeIndentation } from 'vs/editor/common/core/indentation';
|
||||
|
||||
export interface IColumnSelectData {
|
||||
isReal: boolean;
|
||||
|
@ -179,7 +179,7 @@ export class CursorConfiguration {
|
|||
}
|
||||
|
||||
public normalizeIndentation(str: string): string {
|
||||
return TextModel.normalizeIndentation(str, this.indentSize, this.insertSpaces);
|
||||
return normalizeIndentation(str, this.indentSize, this.insertSpaces);
|
||||
}
|
||||
|
||||
private _getShouldAutoClose(languageId: string, autoCloseConfig: EditorAutoClosingStrategy): (ch: string) => boolean {
|
|
@ -20,7 +20,7 @@ import { RichEditBrackets } from 'vs/editor/common/languages/supports/richEditBr
|
|||
import { EditorAutoIndentStrategy } from 'vs/editor/common/config/editorOptions';
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
|
||||
import { ILanguageService } from 'vs/editor/common/services/language';
|
||||
import { ILanguageService } from 'vs/editor/common/languages/language';
|
||||
import { registerSingleton } from 'vs/platform/instantiation/common/extensions';
|
||||
|
||||
/**
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
import * as nls from 'vs/nls';
|
||||
import { Emitter, Event } from 'vs/base/common/event';
|
||||
import { LanguageConfigurationRegistry } from 'vs/editor/common/languages/languageConfigurationRegistry';
|
||||
import { ILanguageExtensionPoint } from 'vs/editor/common/services/language';
|
||||
import { ILanguageExtensionPoint } from 'vs/editor/common/languages/language';
|
||||
import { Registry } from 'vs/platform/registry/common/platform';
|
||||
import { IDisposable } from 'vs/base/common/lifecycle';
|
||||
import { Mimes } from 'vs/base/common/mime';
|
||||
|
|
|
@ -8,7 +8,7 @@ import * as strings from 'vs/base/common/strings';
|
|||
import { IViewLineTokens, LineTokens } from 'vs/editor/common/tokens/lineTokens';
|
||||
import { ILanguageIdCodec, IState, ITokenizationSupport, LanguageId, TokenizationRegistry } from 'vs/editor/common/languages';
|
||||
import { NullState, nullTokenizeEncoded } from 'vs/editor/common/languages/nullMode';
|
||||
import { ILanguageService } from 'vs/editor/common/services/language';
|
||||
import { ILanguageService } from 'vs/editor/common/languages/language';
|
||||
|
||||
export type IReducedTokenizationSupport = Omit<ITokenizationSupport, 'tokenize'>;
|
||||
|
||||
|
|
|
@ -43,10 +43,11 @@ import { SparseTokensStore } from 'vs/editor/common/tokens/sparseTokensStore';
|
|||
import { getWordAtText, IWordAtPosition } from 'vs/editor/common/core/wordHelper';
|
||||
import { FormattingOptions, StandardTokenType } from 'vs/editor/common/languages';
|
||||
import { ILanguageConfigurationService, ResolvedLanguageConfiguration } from 'vs/editor/common/languages/languageConfigurationRegistry';
|
||||
import { ILanguageService } from 'vs/editor/common/services/language';
|
||||
import { ILanguageService } from 'vs/editor/common/languages/language';
|
||||
import { IColorTheme, ThemeColor } from 'vs/platform/theme/common/themeService';
|
||||
import { IUndoRedoService, ResourceEditStackSnapshot } from 'vs/platform/undoRedo/common/undoRedo';
|
||||
import { EDITOR_MODEL_DEFAULTS } from 'vs/editor/common/core/textModelDefaults';
|
||||
import { normalizeIndentation } from 'vs/editor/common/core/indentation';
|
||||
|
||||
function createTextBufferBuilder() {
|
||||
return new PieceTreeTextBufferBuilder();
|
||||
|
@ -694,43 +695,9 @@ export class TextModel extends Disposable implements model.ITextModel, IDecorati
|
|||
});
|
||||
}
|
||||
|
||||
private static _normalizeIndentationFromWhitespace(str: string, indentSize: number, insertSpaces: boolean): string {
|
||||
let spacesCnt = 0;
|
||||
for (let i = 0; i < str.length; i++) {
|
||||
if (str.charAt(i) === '\t') {
|
||||
spacesCnt += indentSize;
|
||||
} else {
|
||||
spacesCnt++;
|
||||
}
|
||||
}
|
||||
|
||||
let result = '';
|
||||
if (!insertSpaces) {
|
||||
const tabsCnt = Math.floor(spacesCnt / indentSize);
|
||||
spacesCnt = spacesCnt % indentSize;
|
||||
for (let i = 0; i < tabsCnt; i++) {
|
||||
result += '\t';
|
||||
}
|
||||
}
|
||||
|
||||
for (let i = 0; i < spacesCnt; i++) {
|
||||
result += ' ';
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public static normalizeIndentation(str: string, indentSize: number, insertSpaces: boolean): string {
|
||||
let firstNonWhitespaceIndex = strings.firstNonWhitespaceIndex(str);
|
||||
if (firstNonWhitespaceIndex === -1) {
|
||||
firstNonWhitespaceIndex = str.length;
|
||||
}
|
||||
return TextModel._normalizeIndentationFromWhitespace(str.substring(0, firstNonWhitespaceIndex), indentSize, insertSpaces) + str.substring(firstNonWhitespaceIndex);
|
||||
}
|
||||
|
||||
public normalizeIndentation(str: string): string {
|
||||
this._assertNotDisposed();
|
||||
return TextModel.normalizeIndentation(str, this._options.indentSize, this._options.insertSpaces);
|
||||
return normalizeIndentation(str, this._options.indentSize, this._options.insertSpaces);
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
|
|
@ -22,7 +22,7 @@ import { createMonacoBaseAPI } from 'vs/editor/common/services/editorBaseApi';
|
|||
import * as types from 'vs/base/common/types';
|
||||
import { IEditorWorkerHost } from 'vs/editor/common/services/editorWorkerHost';
|
||||
import { StopWatch } from 'vs/base/common/stopwatch';
|
||||
import { UnicodeTextModelHighlighter, UnicodeHighlighterOptions } from 'vs/editor/common/languages/unicodeTextModelHighlighter';
|
||||
import { UnicodeTextModelHighlighter, UnicodeHighlighterOptions } from 'vs/editor/common/services/unicodeTextModelHighlighter';
|
||||
|
||||
export interface IMirrorModel extends IMirrorTextModel {
|
||||
readonly uri: URI;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { URI } from 'vs/base/common/uri';
|
|||
import { IRange } from 'vs/editor/common/core/range';
|
||||
import { IChange, IDiffComputationResult } from 'vs/editor/common/diff/diffComputer';
|
||||
import { IInplaceReplaceSupportResult, TextEdit } from 'vs/editor/common/languages';
|
||||
import { UnicodeHighlighterOptions } from 'vs/editor/common/languages/unicodeTextModelHighlighter';
|
||||
import { UnicodeHighlighterOptions } from 'vs/editor/common/services/unicodeTextModelHighlighter';
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
|
||||
export const ID_EDITOR_WORKER_SERVICE = 'editorWorkerService';
|
||||
|
|
|
@ -7,7 +7,7 @@ import { Schemas } from 'vs/base/common/network';
|
|||
import { DataUri, basenameOrAuthority } from 'vs/base/common/resources';
|
||||
import { URI as uri } from 'vs/base/common/uri';
|
||||
import { PLAINTEXT_LANGUAGE_ID } from 'vs/editor/common/languages/modesRegistry';
|
||||
import { ILanguageService } from 'vs/editor/common/services/language';
|
||||
import { ILanguageService } from 'vs/editor/common/languages/language';
|
||||
import { IModelService } from 'vs/editor/common/services/model';
|
||||
import { FileKind } from 'vs/platform/files/common/files';
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ import { Emitter, Event } from 'vs/base/common/event';
|
|||
import { Disposable, IDisposable } from 'vs/base/common/lifecycle';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { LanguagesRegistry } from 'vs/editor/common/services/languagesRegistry';
|
||||
import { ILanguageNameIdPair, ILanguageSelection, ILanguageService, ILanguageIcon } from 'vs/editor/common/services/language';
|
||||
import { ILanguageNameIdPair, ILanguageSelection, ILanguageService, ILanguageIcon } from 'vs/editor/common/languages/language';
|
||||
import { firstOrDefault } from 'vs/base/common/arrays';
|
||||
import { ILanguageIdCodec, TokenizationRegistry } from 'vs/editor/common/languages';
|
||||
import { PLAINTEXT_LANGUAGE_ID } from 'vs/editor/common/languages/modesRegistry';
|
||||
|
|
|
@ -12,7 +12,7 @@ import { clearLanguageAssociations, getMimeTypes, registerLanguageAssociation }
|
|||
import { URI } from 'vs/base/common/uri';
|
||||
import { ILanguageIdCodec, LanguageId } from 'vs/editor/common/languages';
|
||||
import { ModesRegistry, PLAINTEXT_LANGUAGE_ID } from 'vs/editor/common/languages/modesRegistry';
|
||||
import { ILanguageExtensionPoint, ILanguageNameIdPair, ILanguageIcon } from 'vs/editor/common/services/language';
|
||||
import { ILanguageExtensionPoint, ILanguageNameIdPair, ILanguageIcon } from 'vs/editor/common/languages/language';
|
||||
import { Extensions, IConfigurationRegistry } from 'vs/platform/configuration/common/configurationRegistry';
|
||||
import { Registry } from 'vs/platform/registry/common/platform';
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
import { Event } from 'vs/base/common/event';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { ITextBufferFactory, ITextModel, ITextModelCreationOptions } from 'vs/editor/common/model';
|
||||
import { ILanguageSelection } from 'vs/editor/common/services/language';
|
||||
import { ILanguageSelection } from 'vs/editor/common/languages/language';
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { DocumentSemanticTokensProvider, DocumentRangeSemanticTokensProvider } from 'vs/editor/common/languages';
|
||||
import { SemanticTokensProviderStyling } from 'vs/editor/common/services/semanticTokensProviderStyling';
|
||||
|
|
|
@ -16,7 +16,7 @@ import { EDITOR_MODEL_DEFAULTS } from 'vs/editor/common/core/textModelDefaults';
|
|||
import { IModelLanguageChangedEvent, IModelContentChangedEvent } from 'vs/editor/common/textModelEvents';
|
||||
import { DocumentSemanticTokensProviderRegistry, DocumentSemanticTokensProvider, SemanticTokens, SemanticTokensEdits } from 'vs/editor/common/languages';
|
||||
import { PLAINTEXT_LANGUAGE_ID } from 'vs/editor/common/languages/modesRegistry';
|
||||
import { ILanguageSelection, ILanguageService } from 'vs/editor/common/services/language';
|
||||
import { ILanguageSelection, ILanguageService } from 'vs/editor/common/languages/language';
|
||||
import { IModelService, DocumentTokensProvider } from 'vs/editor/common/services/model';
|
||||
import { ITextResourcePropertiesService } from 'vs/editor/common/services/textResourceConfiguration';
|
||||
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
|
||||
|
|
|
@ -7,7 +7,7 @@ import { SemanticTokensLegend, TokenMetadata, FontStyle, MetadataConsts, Semanti
|
|||
import { IThemeService } from 'vs/platform/theme/common/themeService';
|
||||
import { ILogService, LogLevel } from 'vs/platform/log/common/log';
|
||||
import { SparseMultilineTokens } from 'vs/editor/common/tokens/sparseMultilineTokens';
|
||||
import { ILanguageService } from 'vs/editor/common/services/language';
|
||||
import { ILanguageService } from 'vs/editor/common/languages/language';
|
||||
|
||||
export const enum SemanticTokensProviderStylingConstants {
|
||||
NO_STYLING = 0b01111111111111111111111111111111
|
||||
|
|
|
@ -7,7 +7,7 @@ import { Emitter, Event } from 'vs/base/common/event';
|
|||
import { Disposable } from 'vs/base/common/lifecycle';
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { IPosition, Position } from 'vs/editor/common/core/position';
|
||||
import { ILanguageService } from 'vs/editor/common/services/language';
|
||||
import { ILanguageService } from 'vs/editor/common/languages/language';
|
||||
import { IModelService } from 'vs/editor/common/services/model';
|
||||
import { ITextResourceConfigurationService, ITextResourceConfigurationChangeEvent } from 'vs/editor/common/services/textResourceConfiguration';
|
||||
import { IConfigurationService, ConfigurationTarget, IConfigurationValue, IConfigurationChangeEvent } from 'vs/platform/configuration/common/configuration';
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { IEditorConfiguration } from 'vs/editor/common/config/editorConfiguration';
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewModel/viewEventHandler';
|
||||
import { IViewLayout, IViewModel } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewEventHandler';
|
||||
import { IViewLayout, IViewModel } from 'vs/editor/common/viewModel';
|
||||
import { IColorTheme } from 'vs/platform/theme/common/themeService';
|
||||
import { ColorIdentifier } from 'vs/platform/theme/common/colorRegistry';
|
||||
import { Color } from 'vs/base/common/color';
|
|
@ -4,7 +4,7 @@
|
|||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { Disposable } from 'vs/base/common/lifecycle';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
|
||||
export class ViewEventHandler extends Disposable {
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
import * as strings from 'vs/base/common/strings';
|
||||
import { Constants } from 'vs/base/common/uint';
|
||||
import { InlineDecoration, InlineDecorationType } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { InlineDecoration, InlineDecorationType } from 'vs/editor/common/viewModel';
|
||||
import { LinePartMetadata } from 'vs/editor/common/viewLayout/viewLineRenderer';
|
||||
|
||||
export class LineDecoration {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { IPartialViewLinesViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
|
||||
import { IViewWhitespaceViewportData } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { IViewWhitespaceViewportData } from 'vs/editor/common/viewModel';
|
||||
import * as strings from 'vs/base/common/strings';
|
||||
|
||||
export interface IEditorWhitespace {
|
||||
|
|
|
@ -11,8 +11,8 @@ import { ScrollType } from 'vs/editor/common/editorCommon';
|
|||
import { IEditorConfiguration } from 'vs/editor/common/config/editorConfiguration';
|
||||
import { LinesLayout, IEditorWhitespace, IWhitespaceChangeAccessor } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { IPartialViewLinesViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
|
||||
import { IViewLayout, IViewWhitespaceViewportData, Viewport } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { ContentSizeChangedEvent } from 'vs/editor/common/viewModel/viewModelEventDispatcher';
|
||||
import { IViewLayout, IViewWhitespaceViewportData, Viewport } from 'vs/editor/common/viewModel';
|
||||
import { ContentSizeChangedEvent } from 'vs/editor/common/viewModelEventDispatcher';
|
||||
|
||||
const SMOOTH_SCROLLING_TIME = 125;
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ import * as strings from 'vs/base/common/strings';
|
|||
import { IViewLineTokens } from 'vs/editor/common/tokens/lineTokens';
|
||||
import { IStringBuilder, createStringBuilder } from 'vs/editor/common/core/stringBuilder';
|
||||
import { LineDecoration, LineDecorationsNormalizer } from 'vs/editor/common/viewLayout/lineDecorations';
|
||||
import { InlineDecorationType } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { InlineDecorationType } from 'vs/editor/common/viewModel';
|
||||
|
||||
export const enum RenderWhitespace {
|
||||
None = 0,
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
import { Range } from 'vs/editor/common/core/range';
|
||||
import { Selection } from 'vs/editor/common/core/selection';
|
||||
import { IViewModel, IViewWhitespaceViewportData, ViewLineRenderingData, ViewModelDecoration } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { IViewModel, IViewWhitespaceViewportData, ViewLineRenderingData, ViewModelDecoration } from 'vs/editor/common/viewModel';
|
||||
|
||||
export interface IPartialViewLinesViewportData {
|
||||
/**
|
||||
|
|
|
@ -5,20 +5,20 @@
|
|||
|
||||
import { IScrollPosition, Scrollable } from 'vs/base/common/scrollable';
|
||||
import * as strings from 'vs/base/common/strings';
|
||||
import { CursorConfiguration, CursorState, EditOperationType, IColumnSelectData, ICursorSimpleModel, PartialCursorState } from 'vs/editor/common/cursor/cursorCommon';
|
||||
import { CursorChangeReason } from 'vs/editor/common/cursor/cursorEvents';
|
||||
import { CursorConfiguration, CursorState, EditOperationType, IColumnSelectData, ICursorSimpleModel, PartialCursorState } from 'vs/editor/common/cursorCommon';
|
||||
import { CursorChangeReason } from 'vs/editor/common/cursorEvents';
|
||||
import { IViewLineTokens } from 'vs/editor/common/tokens/lineTokens';
|
||||
import { IPosition, Position } from 'vs/editor/common/core/position';
|
||||
import { IRange, Range } from 'vs/editor/common/core/range';
|
||||
import { INewScrollPosition, ScrollType } from 'vs/editor/common/editorCommon';
|
||||
import { EndOfLinePreference, IModelDecorationOptions, ITextModel, PositionAffinity, TextModelResolvedOptions } from 'vs/editor/common/model';
|
||||
import { BracketGuideOptions, IActiveIndentGuideInfo, IndentGuide } from 'vs/editor/common/textModelGuides';
|
||||
import { EditorTheme } from 'vs/editor/common/viewModel/viewContext';
|
||||
import { VerticalRevealType } from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { EditorTheme } from 'vs/editor/common/viewContext';
|
||||
import { VerticalRevealType } from 'vs/editor/common/viewEvents';
|
||||
import { IEditorWhitespace, IWhitespaceChangeAccessor } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { IPartialViewLinesViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
|
||||
import { ILineBreaksComputer, InjectedText } from 'vs/editor/common/viewModel/modelLineProjectionData';
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewModel/viewEventHandler';
|
||||
import { ILineBreaksComputer, InjectedText } from 'vs/editor/common/modelLineProjectionData';
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewEventHandler';
|
||||
|
||||
export interface IViewModel extends ICursorSimpleModel {
|
||||
|
|
@ -8,8 +8,8 @@ import { Position } from 'vs/editor/common/core/position';
|
|||
import { IRange } from 'vs/editor/common/core/range';
|
||||
import { EndOfLinePreference, ITextModel, PositionAffinity } from 'vs/editor/common/model';
|
||||
import { LineInjectedText } from 'vs/editor/common/textModelEvents';
|
||||
import { InjectedText, ModelLineProjectionData } from 'vs/editor/common/viewModel/modelLineProjectionData';
|
||||
import { SingleLineInlineDecoration, ViewLineData } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { InjectedText, ModelLineProjectionData } from 'vs/editor/common/modelLineProjectionData';
|
||||
import { SingleLineInlineDecoration, ViewLineData } from 'vs/editor/common/viewModel';
|
||||
|
||||
export interface IModelLineProjection {
|
||||
isVisible(): boolean;
|
||||
|
|
|
@ -10,7 +10,7 @@ import { CharacterClassifier } from 'vs/editor/common/core/characterClassifier';
|
|||
import { FontInfo } from 'vs/editor/common/config/fontInfo';
|
||||
import { LineInjectedText } from 'vs/editor/common/textModelEvents';
|
||||
import { InjectedTextOptions } from 'vs/editor/common/model';
|
||||
import { ILineBreaksComputerFactory, ILineBreaksComputer, ModelLineProjectionData } from 'vs/editor/common/viewModel/modelLineProjectionData';
|
||||
import { ILineBreaksComputerFactory, ILineBreaksComputer, ModelLineProjectionData } from 'vs/editor/common/modelLineProjectionData';
|
||||
|
||||
export class MonospaceLineBreaksComputerFactory implements ILineBreaksComputerFactory {
|
||||
public static create(options: IComputedEditorOptions): MonospaceLineBreaksComputerFactory {
|
||||
|
|
|
@ -9,7 +9,7 @@ import { Range } from 'vs/editor/common/core/range';
|
|||
import { IEditorConfiguration } from 'vs/editor/common/config/editorConfiguration';
|
||||
import { IModelDecoration, ITextModel, PositionAffinity } from 'vs/editor/common/model';
|
||||
import { IViewModelLines } from 'vs/editor/common/viewModel/viewModelLines';
|
||||
import { ICoordinatesConverter, InlineDecoration, InlineDecorationType, ViewModelDecoration } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { ICoordinatesConverter, InlineDecoration, InlineDecorationType, ViewModelDecoration } from 'vs/editor/common/viewModel';
|
||||
import { filterValidationDecorations } from 'vs/editor/common/config/editorOptions';
|
||||
import { StandardTokenType } from 'vs/editor/common/languages';
|
||||
|
||||
|
|
|
@ -12,8 +12,8 @@ import * as platform from 'vs/base/common/platform';
|
|||
import * as strings from 'vs/base/common/strings';
|
||||
import { ConfigurationChangedEvent, EditorOption, EDITOR_FONT_DEFAULTS, filterValidationDecorations } from 'vs/editor/common/config/editorOptions';
|
||||
import { CursorsController } from 'vs/editor/common/cursor/cursor';
|
||||
import { CursorConfiguration, CursorState, EditOperationType, IColumnSelectData, PartialCursorState } from 'vs/editor/common/cursor/cursorCommon';
|
||||
import { CursorChangeReason } from 'vs/editor/common/cursor/cursorEvents';
|
||||
import { CursorConfiguration, CursorState, EditOperationType, IColumnSelectData, PartialCursorState } from 'vs/editor/common/cursorCommon';
|
||||
import { CursorChangeReason } from 'vs/editor/common/cursorEvents';
|
||||
import { IPosition, Position } from 'vs/editor/common/core/position';
|
||||
import { IRange, Range } from 'vs/editor/common/core/range';
|
||||
import { ISelection, Selection } from 'vs/editor/common/core/selection';
|
||||
|
@ -27,16 +27,16 @@ import { ColorId, TokenizationRegistry } from 'vs/editor/common/languages';
|
|||
import { ILanguageConfigurationService } from 'vs/editor/common/languages/languageConfigurationRegistry';
|
||||
import { PLAINTEXT_LANGUAGE_ID } from 'vs/editor/common/languages/modesRegistry';
|
||||
import { tokenizeLineToHTML } from 'vs/editor/common/languages/textToHtmlTokenizer';
|
||||
import { EditorTheme } from 'vs/editor/common/viewModel/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { EditorTheme } from 'vs/editor/common/viewContext';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { IWhitespaceChangeAccessor } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { ViewLayout } from 'vs/editor/common/viewLayout/viewLayout';
|
||||
import { MinimapTokensColorTracker } from 'vs/editor/common/viewModel/minimapTokensColorTracker';
|
||||
import { ILineBreaksComputer, ILineBreaksComputerFactory, InjectedText } from 'vs/editor/common/viewModel/modelLineProjectionData';
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewModel/viewEventHandler';
|
||||
import { ICoordinatesConverter, IViewModel, MinimapLinesRenderingData, OverviewRulerDecorationsGroup, ViewLineData, ViewLineRenderingData, ViewModelDecoration } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { ILineBreaksComputer, ILineBreaksComputerFactory, InjectedText } from 'vs/editor/common/modelLineProjectionData';
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewEventHandler';
|
||||
import { ICoordinatesConverter, IViewModel, MinimapLinesRenderingData, OverviewRulerDecorationsGroup, ViewLineData, ViewLineRenderingData, ViewModelDecoration } from 'vs/editor/common/viewModel';
|
||||
import { ViewModelDecorations } from 'vs/editor/common/viewModel/viewModelDecorations';
|
||||
import { FocusChangedEvent, OutgoingViewModelEvent, ReadOnlyEditAttemptEvent, ScrollChangedEvent, ViewModelEventDispatcher, ViewModelEventsCollector, ViewZonesChangedEvent } from 'vs/editor/common/viewModel/viewModelEventDispatcher';
|
||||
import { FocusChangedEvent, OutgoingViewModelEvent, ReadOnlyEditAttemptEvent, ScrollChangedEvent, ViewModelEventDispatcher, ViewModelEventsCollector, ViewZonesChangedEvent } from 'vs/editor/common/viewModelEventDispatcher';
|
||||
import { IViewModelLines, ViewModelLinesFromModelAsIs, ViewModelLinesFromProjectedModel } from 'vs/editor/common/viewModel/viewModelLines';
|
||||
|
||||
const USE_IDENTITY_LINES_COLLECTION = true;
|
||||
|
|
|
@ -13,11 +13,11 @@ import { IModelDecoration, IModelDeltaDecoration, ITextModel, PositionAffinity }
|
|||
import { IActiveIndentGuideInfo, BracketGuideOptions, IndentGuide, IndentGuideHorizontalLine } from 'vs/editor/common/textModelGuides';
|
||||
import { ModelDecorationOptions } from 'vs/editor/common/model/textModel';
|
||||
import { LineInjectedText } from 'vs/editor/common/textModelEvents';
|
||||
import * as viewEvents from 'vs/editor/common/viewModel/viewEvents';
|
||||
import * as viewEvents from 'vs/editor/common/viewEvents';
|
||||
import { createModelLineProjection, IModelLineProjection } from 'vs/editor/common/viewModel/modelLineProjection';
|
||||
import { ILineBreaksComputer, ModelLineProjectionData, InjectedText, ILineBreaksComputerFactory } from 'vs/editor/common/viewModel/modelLineProjectionData';
|
||||
import { ILineBreaksComputer, ModelLineProjectionData, InjectedText, ILineBreaksComputerFactory } from 'vs/editor/common/modelLineProjectionData';
|
||||
import { ConstantTimePrefixSumComputer } from 'vs/editor/common/model/prefixSumComputer';
|
||||
import { ICoordinatesConverter, ViewLineData } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { ICoordinatesConverter, ViewLineData } from 'vs/editor/common/viewModel';
|
||||
|
||||
export interface IViewModelLines extends IDisposable {
|
||||
createCoordinatesConverter(): ICoordinatesConverter;
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewModel/viewEventHandler';
|
||||
import { ViewEvent } from 'vs/editor/common/viewModel/viewEvents';
|
||||
import { ViewEventHandler } from 'vs/editor/common/viewEventHandler';
|
||||
import { ViewEvent } from 'vs/editor/common/viewEvents';
|
||||
import { IContentSizeChangedEvent } from 'vs/editor/common/editorCommon';
|
||||
import { Emitter } from 'vs/base/common/event';
|
||||
import { Selection } from 'vs/editor/common/core/selection';
|
||||
import { Disposable } from 'vs/base/common/lifecycle';
|
||||
import { CursorChangeReason } from 'vs/editor/common/cursor/cursorEvents';
|
||||
import { CursorChangeReason } from 'vs/editor/common/cursorEvents';
|
||||
|
||||
export class ViewModelEventDispatcher extends Disposable {
|
||||
|
|
@ -9,8 +9,10 @@ import { registerEditorContribution } from 'vs/editor/browser/editorExtensions';
|
|||
import { Range } from 'vs/editor/common/core/range';
|
||||
import { IEditorContribution } from 'vs/editor/common/editorCommon';
|
||||
import { ColorDecorationInjectedTextMarker } from 'vs/editor/contrib/colorPicker/browser/colorDetector';
|
||||
import { ColorHoverParticipant } from 'vs/editor/contrib/colorPicker/browser/colorHoverParticipant';
|
||||
import { ModesHoverController } from 'vs/editor/contrib/hover/browser/hover';
|
||||
import { HoverStartMode } from 'vs/editor/contrib/hover/browser/hoverOperation';
|
||||
import { HoverParticipantRegistry } from 'vs/editor/contrib/hover/browser/hoverTypes';
|
||||
|
||||
export class ColorContribution extends Disposable implements IEditorContribution {
|
||||
|
||||
|
@ -59,3 +61,4 @@ export class ColorContribution extends Disposable implements IEditorContribution
|
|||
}
|
||||
|
||||
registerEditorContribution(ColorContribution.ID, ColorContribution);
|
||||
HoverParticipantRegistry.register(ColorHoverParticipant);
|
||||
|
|
|
@ -45,6 +45,8 @@ export class ColorHover implements IHoverPart {
|
|||
|
||||
export class ColorHoverParticipant implements IEditorHoverParticipant<ColorHover> {
|
||||
|
||||
public readonly hoverOrdinal: number = 1;
|
||||
|
||||
constructor(
|
||||
private readonly _editor: ICodeEditor,
|
||||
@IThemeService private readonly _themeService: IThemeService,
|
|
@ -12,6 +12,7 @@ import { Emitter, Event } from 'vs/base/common/event';
|
|||
import { Disposable } from 'vs/base/common/lifecycle';
|
||||
import 'vs/css!./colorPicker';
|
||||
import { ColorPickerModel } from 'vs/editor/contrib/colorPicker/browser/colorPickerModel';
|
||||
import { IEditorHoverColorPickerWidget } from 'vs/editor/contrib/hover/browser/hoverTypes';
|
||||
import { localize } from 'vs/nls';
|
||||
import { editorHoverBackground } from 'vs/platform/theme/common/colorRegistry';
|
||||
import { IThemeService, registerThemingParticipant } from 'vs/platform/theme/common/themeService';
|
||||
|
@ -336,7 +337,7 @@ class HueStrip extends Strip {
|
|||
}
|
||||
}
|
||||
|
||||
export class ColorPickerWidget extends Widget {
|
||||
export class ColorPickerWidget extends Widget implements IEditorHoverColorPickerWidget {
|
||||
|
||||
private static readonly ID = 'editor.contrib.colorPickerWidget';
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue