Unverified Publisher
Flags items published by entities that haven’t gone through the publisher verification process of the marketplace. Lack of verification may indicate higher risk, as the publisher’s identity and trustworthiness are unconfirmed.
Flags items published by entities that haven’t gone through the publisher verification process of the marketplace. Lack of verification may indicate higher risk, as the publisher’s identity and trustworthiness are unconfirmed.
AI-powered analysis of the extension's source code for security insights and risk assessment.
This Javascript code implements a Visual Studio Code extension for the Moonbit programming language. Here's a breakdown of its functionality and workings:
Core Features:
wasm, wasm-gc, js). The chosen backend is stored in a .moonbit-lsp.json file.moonbit-lsp/package-add-import) is provided to add import statements to a Moonbit package's moon.pkg.json file.moonbit-lsp/compile, moonbit-lsp/watToWasm, and moonbit-lsp/test handle these operations.How it Works:
Initialization:
moonbit configuration).File Synchronization:
DidOpenTextDocument, DidChangeTextDocument, WillSaveTextDocument, DidSaveTextDocument, and DidCloseTextDocument events.Configuration Synchronization:
Diagnostics:
languages.createDiagnosticCollection API.Language Features:
CompletionItemProvider (code completion)HoverProvider (hovers)SignatureHelpProvider (function signature help)DefinitionProvider (go to definition)ReferenceProvider (find references)DocumentHighlightProvider (highlighting)DocumentSymbolProvider (code outline)WorkspaceSymbolProvider (global symbol search)CodeActionsProvider (code fixes and refactorings)CodeLensProvider (code lens annotations)DocumentFormattingEditProvider (code formatting)DocumentRangeFormattingEditProvider (range formatting)OnTypeFormattingEditProvider (on-type formatting)RenameProvider (rename symbols)DocumentLinkProvider (document links)ExecuteCommandProvider (custom commands)ColorProvider (color pickers and information)FoldingRangeProvider (code folding)DeclarationProvider (go to declaration)SelectionRangeProvider (selection ranges)CallHierarchyProvider (call hierarchy navigation)SemanticTokensProvider (semantic tokenization for syntax highlighting)LinkedEditingRangeProvider (linked editing ranges)TypeHierarchyProvider (type hierarchy navigation)InlineValueProvider (inline value previews)InlayHintProvider (inlay hints)Toolchain Management:
Code Structure:
BaseLanguageClient Class: Represents the core LSP client. It handles the connection, communication with the server, and basic request/notification management.DynamicFeature or TextDocumentLanguageFeature. These classes define the client capabilities, initialize the feature, and register VS Code language providers.createConverter: Utility to convert between VS Code and LSP data structures (URIs, positions, ranges, diagnostics, etc.).generateUuid: Generates unique IDs for LSP registrations.createProtocolConnection: Creates the LSP connection object.Overall: This code demonstrates a well-structured implementation of a VS Code language extension, leveraging the LSP to provide rich language support for Moonbit developers.
API calls detected through static analysis of the source code. For more accurate insights, explore our sandbox dynamic analysis.
Any encoded/decoded secrets we managed to find in the source code, git repository, or related files
Known vulnerabilities and security issues detected in the extension's dependencies and code.
Any identifiers we detected that may indicate external communication from the item's code
Dependencies and third-party libraries used by the extension, including version information and license details.