Skip to content

Commit

Permalink
Semantic highlight and document symbols on slang 0.10 (#523)
Browse files Browse the repository at this point in the history
* feat: semantic highlighting

* feat: documentSymbol - project outline

* chore: migrate to slang 0.10.1

semantic highlight

* track performance spans

* error tolerance for document symbols

* decouple onSemanticTokens from solidity-parser

* optimize walking by storing references

* leverage trackTimingSync error handling

* enable documentSymbol and semanticHighlight only on slang-supported platforms

* feature flags

* use finders for walking the cst

* rework semantic highlighting to use cursor finders

* fix linter

* Changes based on PR feedback (part 1)

* Support unnamed function definition on documentSymbols

* refactor based on feedback

* moving version selection to slangHelpers

* add comment to semantic tokens test
  • Loading branch information
antico5 authored and kanej committed Apr 17, 2024
1 parent c728acf commit ff283f7
Show file tree
Hide file tree
Showing 58 changed files with 2,563 additions and 19 deletions.
12 changes: 12 additions & 0 deletions client/scripts/bundle.js
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ async function main() {
external: [
"vscode",
"@nomicfoundation/solidity-analyzer",
"@nomicfoundation/slang",
"fsevents",
"mocha",
],
Expand Down Expand Up @@ -198,6 +199,17 @@ async function main() {
"@nomicfoundation/solidity-analyzer-linux-x64-gnu": "0.1.1",
"@nomicfoundation/solidity-analyzer-linux-x64-musl": "0.1.1",
"@nomicfoundation/solidity-analyzer-freebsd-x64": "0.1.1",

"@nomicfoundation/slang": "0.10.1",
"@nomicfoundation/slang-darwin-arm64": "0.10.1",
"@nomicfoundation/slang-win32-arm64-msvc": "0.10.1",
"@nomicfoundation/slang-linux-arm64-gnu": "0.10.1",
"@nomicfoundation/slang-linux-arm64-musl": "0.10.1",
"@nomicfoundation/slang-win32-ia32-msvc": "0.10.1",
"@nomicfoundation/slang-darwin-x64": "0.10.1",
"@nomicfoundation/slang-win32-x64-msvc": "0.10.1",
"@nomicfoundation/slang-linux-x64-gnu": "0.10.1",
"@nomicfoundation/slang-linux-x64-musl": "0.10.1",
},
})
);
Expand Down
9 changes: 9 additions & 0 deletions flags.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"documentSymbol": {
"percent": 0
},

"semanticHighlighting": {
"percent": 0
}
}
227 changes: 226 additions & 1 deletion package-lock.json

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

1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
"url": "https://github.com/NomicFoundation/hardhat-vscode/issues"
},
"scripts": {
"postinstall": "npm install --no-save --ignore-scripts --force @nomicfoundation/[email protected]",
"build": "tsc -b ./client/tsconfig.json && tsc -b ./server/tsconfig.build.json && tsc -b ./coc/tsconfig.json && tsc -b",
"watch": "concurrently -n client,server \"tsc -b -w ./client/tsconfig.json\" \"tsc -b -w ./server/tsconfig.build.json\"",
"test:unit": "npm -w server run test",
Expand Down
3 changes: 2 additions & 1 deletion server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@
"@types/qs": "^6.9.7",
"@types/semver": "^7.3.12",
"@types/sinon": "10.0.6",
"@types/yaml": "^1.9.7",
"c3-linearization": "0.3.0",
"chai": "4.3.4",
"codecov": "3.8.3",
Expand Down Expand Up @@ -84,10 +85,10 @@
"vscode-languageserver-textdocument": "1.0.8",
"vscode-languageserver-types": "3.17.3",
"vscode-uri": "3.0.7",
"@types/yaml": "^1.9.7",
"yaml": "^2.2.1"
},
"dependencies": {
"@nomicfoundation/slang": "^0.10.1",
"@nomicfoundation/solidity-analyzer": "0.1.1"
}
}
7 changes: 6 additions & 1 deletion server/scripts/bundle.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,12 @@ async function main() {
minifyWhitespace: true,
minifyIdentifiers: false,
minifySyntax: true,
external: ["@nomicfoundation/solidity-analyzer", "fsevents", "mocha"],
external: [
"@nomicfoundation/solidity-analyzer",
"@nomicfoundation/slang",
"fsevents",
"mocha",
],
platform: "node",
outdir: ".",
logLevel: "info",
Expand Down
Loading

0 comments on commit ff283f7

Please sign in to comment.