GithubHelp home page GithubHelp logo

vain0x / hsp3-ginger Goto Github PK

View Code? Open in Web Editor NEW
8.0 2.0 2.0 3 MB

HSP3 開発ツールを作るプロジェクト

License: Other

PowerShell 1.32% C++ 4.46% C 21.36% Rust 66.15% Shell 0.44% JavaScript 1.06% CSS 0.05% HTML 0.10% C# 0.36% TypeScript 4.70%
hsp3 dev-tools lsp dap vscode-extension debugger hsp language-server-protocol debug-adapter-protocol

hsp3-ginger's Introduction

HSP3 GINGER

HSP3 の開発ツールを作るプロジェクト。

開発ツール

hsp3-ginger

hsp3-ginger

  • コマンドラインで HSP3 スクリプトのコンパイルや実行を行うためのユーティリティーです。
  • 言語: HSP3

hsp3-debug-window-adapter

hsp3-debug-window-adapter

  • HSP3 のデバッグ実行を起動・終了するだけの Debug Adapter Protocol (DAP) 実装です。
  • VSCode などの DAP に対応したエディタにて、標準のデバッグウィンドウを用いてデバッグ実行するのに使用します。
  • 言語: TypeScript

hsp3-analyzer-mini

hsp3-analyzer-mini

  • HSP3 の実用最小限な静的解析ツールです。Language Server Protocol (LSP) 準拠。
  • VSCode に拡張機能をインストールすることで入力補完やホバーなどの支援を受けられます。
  • 言語: Rust
  • 状況: 最低限の実用可能なレベル


以下のプロジェクトは実用段階にはありません。

開発ツール [開発中]

hsp3-debug-ginger

hsp3-debug-ginger

  • VSCode 用デバッガー
  • Debug Adapter Protocol 対応
  • 言語: Rust
  • 状況: アルファ版リリース済み。まだ実用レベルではありません。

hsp3-forgery

hsp3-forgery

  • 静的解析ツール
  • 言語: Rust
  • 状況: まだ構文解析の一部しか動きません。

開発ツール [サンプル]

hsp3-debug-empty

hsp3-debug-empty

  • 何もしないデバッガー
  • 新しいデバッガーを作るときの土台
  • 言語: C++

hsp3-debug-self

hsp3-debug-self

  • サーバーとクライアントに分離したデバッガー
  • 言語: C++ (サーバー), HSP (クライアント)
  • 状況: 概念実証レベル。コンセプトは knowbug v2 に引き継がれました。

hsp3-debug-spider

hsp3-debug-spider

  • デバッガー
  • Web サーバーとブラウザを起動することで、GUI を HTML/CSS により実装しています。
  • 言語: Rust (サーバー), JavaScript (クライアント), C# (ブラウザ)
  • 状況: 概念実証 (proof-of-concept) 済み。実用レベルではありません。

拡張プラグイン [開発中]

hsp3-vartype-int64

hsp3-vartype-int64

  • int64 型を追加するプラグイン


以下のプロジェクトは開発終了しました

[開発終了]

hsp3-vscode-syntax

hsp3-vscode-syntax

  • language-hsp3 など、他の拡張機能を利用してください

hsp3-ginger's People

Contributors

honobonosun avatar vain0x avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

hsp3-ginger's Issues

Please consider to move off deprecated VS Code APIs

Hi, I'm @weinand from the VS Code team.

While investigating which debugger extensions are using deprecated extension API I found an issue with your extension (for details see microsoft/vscode#88849).

In the package.json the deprecated contribution point "debuggers.adapterExecutableCommand" is used.

Please use the "vscode.DebugAdapterDescriptorFactory" and a "vscode.DebugAdapterExecutable" instead like shown here with Mock debug.

You can register the adapter factory in the extensions "activate" function like this:

context.subscriptions.push(vscode.debug.registerDebugAdapterDescriptorFactory(DEBUG_TYPE, factory));

[ham] VC++ランタイムライブラリがないと実行できない

VC++ランタイムライブラリがインストールされていない環境ではHAMを実行できません
(検証したわけではないですが実行できないと思います)

参考: VSCodeでHSP3開発を超快適にしよう! [2023年] #VSCode - Qiita

解決案

インストール手順に追加する or 静的リンクする

参考: [Rust] VCランタイムライブラリを静的リンクする #Windows - Qiita

ラベルの参照が未解決になる

イシュー失礼します。「VSCodeでHSP3開発を超快適にしよう! [2023年]」を書いた者です。
記事をご覧くださった上に、HSP3 アナライザー・ミニ (LSP) の更新までしていただきありがとうございます。変更点を見るに細かいところまでご覧いただけたようで恐れ多いですがとても嬉しいです!

その上で大変恐縮ですが、v0.5.0からラベルの参照位置が「(未解決)」となっており、「定義へ移動」などができなくなっているようです。
例えば、以下のコードで1行目の*labelにカーソルを合わせても「label (未解決)」と表示され、定義へ移動もできません。

goto *label
*label

ご確認いただけると幸いです。

[ginger] #packopt icon などに対応する

ginger build では #packopt icon が処理されません。これはコンパイラではなくスクリプトエディタによって処理されるものだからです。

HSP3 のインストールディレクトリにある iconins.exe を使えばよさそうです。例えば以下のコマンドを使うことで実行ファイルのアイコンの変更ができます。(絶対パスはソースコードから抽出している模様。version などはさらに他の引数が必要。)

iconins -e"実行ファイルへの絶対パス" -i"アイコンファイルへの絶対パス"

参考: http://dev.onionsoft.net/trac/openhsp/browser/trunk/tools/win32/hsed3_footy2/PackIconResource.cpp

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.