Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Add typed causes for a rejected source and for an opaque argument value

オープン
#236 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
csharp
領域
backend

調査の方向性

Start by reading the parser’s command-name rejection path and the argument analysis types that expose Unknown with ArgKind.DynamicSkip; the issue does not name specific files or tests. Trace how ShellOpaqueCause is currently represented and exposed. Done means parse failures carry a typed reason and argument values expose the three listed opaque causes as public typed facts.

索引モデルが issue の本文から書いたものです。

説明

Problem

Since 0.4.0-beta.18, the parser rejects a source with a brace list in the
command name, such as {"b":2,"nested":{"c":3}}. That is correct, because
Bash expands the word to another program and its operands. But the parser
gives the consumer only an error string. Also, a brace word in an argument
position reaches the consumer as an Unknown value with ArgKind.DynamicSkip,
the same as an arithmetic word or a command substitution. The internal
ShellOpaqueCause is not public.

Netclaw gives the agent a rewrite correction for some unresolved forms. It
needs the cause to choose the correct advice:

  • A rejected source with a brace list in the command name: before beta.18,
    the agent got the "run each command separately" correction. Now 30 corpus
    rows of JSON text get a prompt, or an unattended denial. Netclaw must not
    match the error string.
  • git {push,fetch} origin: Netclaw now gives the general "write the command
    words literally" advice, because it cannot see that the word is a brace list.

Request

  1. Add a typed reason to a parse failure, for example an enum value
    BraceExpansionInCommandName, next to the error text.
  2. Expose the opaque cause of an argument value as a public typed fact, for
    example AnalyzedArgument.OpaqueCauses with the values BraceExpansion,
    ArithmeticExpansion, and CommandSubstitution.

Both facts are general shell syntax facts. They do not depend on a program.

Consumer

netclaw-dev/netclaw#2349, review comment 4187346461.

主要言語
C#
スター
15
フォーク
0
平均マージ
9時間 8分
マージ済み PR(30日)
46

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Aaronontheweb/ShellSyntaxTree のほかの issue

Aaronontheweb/ShellSyntaxTree の issue をすべて見る

似ている issue

C# の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。