Update color decorator debounce
parent
8b03e8b984
commit
d95533428f
|
@ -1019,6 +1019,12 @@
|
||||||
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
|
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"@types/debounce": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-bWG5wapaWgbss9E238T0R6bfo5Fh3OkeoSt245CM7JJwVwpw6MEBCbIxLq5z8KzsE3uJhzcIuQkyiZmzV3M/Dw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"@types/graceful-fs": {
|
"@types/graceful-fs": {
|
||||||
"version": "4.1.3",
|
"version": "4.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz",
|
||||||
|
@ -1960,6 +1966,12 @@
|
||||||
"integrity": "sha512-8P1cDi8ebZyDxUyUprBXwidoEtiQAawYPGvpfb+Dg0G6JrQ+VozwOmm91xYC0vAv1+0VmLehEPb+isg4BGUFfA==",
|
"integrity": "sha512-8P1cDi8ebZyDxUyUprBXwidoEtiQAawYPGvpfb+Dg0G6JrQ+VozwOmm91xYC0vAv1+0VmLehEPb+isg4BGUFfA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"debounce": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"debug": {
|
"debug": {
|
||||||
"version": "4.1.1",
|
"version": "4.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
|
||||||
|
|
|
@ -173,6 +173,7 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ctrl/tinycolor": "^3.1.0",
|
"@ctrl/tinycolor": "^3.1.0",
|
||||||
|
"@types/debounce": "^1.2.0",
|
||||||
"@types/mocha": "^5.2.0",
|
"@types/mocha": "^5.2.0",
|
||||||
"@types/moo": "^0.5.3",
|
"@types/moo": "^0.5.3",
|
||||||
"@types/node": "^13.9.3",
|
"@types/node": "^13.9.3",
|
||||||
|
@ -182,6 +183,7 @@
|
||||||
"chokidar": "^3.3.1",
|
"chokidar": "^3.3.1",
|
||||||
"concurrently": "^5.1.0",
|
"concurrently": "^5.1.0",
|
||||||
"css.escape": "^1.5.1",
|
"css.escape": "^1.5.1",
|
||||||
|
"debounce": "^1.2.0",
|
||||||
"detect-indent": "^6.0.0",
|
"detect-indent": "^6.0.0",
|
||||||
"dlv": "^1.1.3",
|
"dlv": "^1.1.3",
|
||||||
"dset": "^2.0.1",
|
"dset": "^2.0.1",
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import { window, workspace, ExtensionContext, TextEditor } from 'vscode'
|
import { window, workspace, ExtensionContext, TextEditor } from 'vscode'
|
||||||
import { NotificationEmitter } from './emitter'
|
import { NotificationEmitter } from './emitter'
|
||||||
import { LanguageClient } from 'vscode-languageclient'
|
import { LanguageClient } from 'vscode-languageclient'
|
||||||
|
import debounce from 'debounce'
|
||||||
|
|
||||||
const colorDecorationType = window.createTextEditorDecorationType({
|
const colorDecorationType = window.createTextEditorDecorationType({
|
||||||
before: {
|
before: {
|
||||||
|
@ -28,7 +29,6 @@ export function registerColorDecorator(
|
||||||
emitter: NotificationEmitter
|
emitter: NotificationEmitter
|
||||||
) {
|
) {
|
||||||
let activeEditor = window.activeTextEditor
|
let activeEditor = window.activeTextEditor
|
||||||
let timeout: NodeJS.Timer | undefined = undefined
|
|
||||||
|
|
||||||
async function updateDecorations() {
|
async function updateDecorations() {
|
||||||
return updateDecorationsInEditor(activeEditor)
|
return updateDecorationsInEditor(activeEditor)
|
||||||
|
@ -76,13 +76,7 @@ export function registerColorDecorator(
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
function triggerUpdateDecorations() {
|
const triggerUpdateDecorations = debounce(updateDecorations, 200)
|
||||||
if (timeout) {
|
|
||||||
clearTimeout(timeout)
|
|
||||||
timeout = undefined
|
|
||||||
}
|
|
||||||
timeout = setTimeout(updateDecorations, 500)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (activeEditor) {
|
if (activeEditor) {
|
||||||
triggerUpdateDecorations()
|
triggerUpdateDecorations()
|
||||||
|
|
Loading…
Reference in New Issue