56 lines
1.3 KiB
Nix
56 lines
1.3 KiB
Nix
|
|
{
|
||
|
|
lib,
|
||
|
|
stdenv,
|
||
|
|
vscode-utils,
|
||
|
|
callPackage,
|
||
|
|
}:
|
||
|
|
let
|
||
|
|
extVersion = "1.62.0";
|
||
|
|
rescript-editor-analysis = callPackage ./rescript-editor-analysis.nix { };
|
||
|
|
|
||
|
|
# Ensure the versions match
|
||
|
|
version =
|
||
|
|
if rescript-editor-analysis.version == extVersion then
|
||
|
|
rescript-editor-analysis.version
|
||
|
|
else
|
||
|
|
throw "analysis and extension versions must match";
|
||
|
|
|
||
|
|
arch =
|
||
|
|
if stdenv.hostPlatform.isLinux then
|
||
|
|
"linux"
|
||
|
|
else if stdenv.hostPlatform.isDarwin then
|
||
|
|
"darwin"
|
||
|
|
else
|
||
|
|
throw "Unsupported system: ${stdenv.system}";
|
||
|
|
analysisDir = "server/analysis_binaries/${arch}";
|
||
|
|
in
|
||
|
|
|
||
|
|
vscode-utils.buildVscodeMarketplaceExtension {
|
||
|
|
mktplcRef = {
|
||
|
|
name = "rescript-vscode";
|
||
|
|
publisher = "chenglou92";
|
||
|
|
inherit version;
|
||
|
|
hash = "sha256-yUAhysTM9FXo9ZAzrto+tnjnofIUEQAGBg3tjIainrY=";
|
||
|
|
};
|
||
|
|
|
||
|
|
# For rescript-language-server
|
||
|
|
passthru.rescript-editor-analysis = rescript-editor-analysis;
|
||
|
|
|
||
|
|
strictDeps = true;
|
||
|
|
postPatch = ''
|
||
|
|
rm -r ${analysisDir}
|
||
|
|
ln -s ${rescript-editor-analysis}/bin ${analysisDir}
|
||
|
|
'';
|
||
|
|
|
||
|
|
meta = {
|
||
|
|
description = "Official VSCode plugin for ReScript";
|
||
|
|
homepage = "https://github.com/rescript-lang/rescript-vscode";
|
||
|
|
maintainers = [
|
||
|
|
lib.maintainers.dlip
|
||
|
|
lib.maintainers.jayesh-bhoot
|
||
|
|
];
|
||
|
|
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||
|
|
license = lib.licenses.mit;
|
||
|
|
};
|
||
|
|
}
|