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

zsh sqlcmd completion is broken

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

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

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
70/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
静か
技術スタック
go, zsh
領域
cli

調査の方向性

sqlcmd __complete '' と sqlcmd __complete conf で失敗を再現し、その後、cmd/sqlcmd/sqlcmd.go の 289、319、362、375 行付近と cmd/modern/main.go:52 を読んで、completion 引数の処理経路を確認します。sqlcmd の zsh completion が、パニックを起こさずにコマンドと空のプロンプトに対する候補を生成すれば完了です。

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

説明

Installed sqlcmd on MacOS with HomeBrew. After rebuilding ~/.zcompdump the command shows up fine:

% cat ~/.zcompdump | rg sqlcmd
'sqlcmd' '_sqlcmd'

However, trying to autocomplete commands like sqlcmd conf<TAB> or plain sqlcmd <TAB> does nothing.

Looks like there's a real problem there:

~ % sqlcmd __complete ''
panic: runtime error: index out of range [0] with length 0

goroutine 1 [running]:
github.com/microsoft/go-sqlcmd/cmd/sqlcmd.isFlag(...)
        github.com/microsoft/go-sqlcmd/cmd/sqlcmd/sqlcmd.go:375
github.com/microsoft/go-sqlcmd/cmd/sqlcmd.checkDefaultValue({0x13c831621600, 0x2, 0x13c8317add88?}, 0x1)
        github.com/microsoft/go-sqlcmd/cmd/sqlcmd/sqlcmd.go:362 +0x2b8
github.com/microsoft/go-sqlcmd/cmd/sqlcmd.convertOsArgs({0x13c8312b6310?, 0x101b82380?, 0x100e1cb4b?})
        github.com/microsoft/go-sqlcmd/cmd/sqlcmd/sqlcmd.go:319 +0x1f0
github.com/microsoft/go-sqlcmd/cmd/sqlcmd.Execute({0x1010ea180, 0x6})
        github.com/microsoft/go-sqlcmd/cmd/sqlcmd/sqlcmd.go:289 +0x148
main.main()
        github.com/microsoft/go-sqlcmd/cmd/modern/main.go:52 +0x1b4

~ % sqlcmd __complete conf
:0
Completion ended with directive: ShellCompDirectiveDefault

Version: sqlcmd ✔: stable 1.10.0 (bottled)

主要言語
Go
スター
601
フォーク
91
PR マージ指標
30日以内にマージされた PR はありません

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

  • Dockerfile または Docker Compose ファイルあり
  • プルリクエストのテンプレートなし
  • コントリビューションガイドなし

はじめの一歩

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

microsoft/go-sqlcmd のほかの issue

microsoft/go-sqlcmd の issue をすべて見る

似ている issue

Go の issue をもっと見る

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

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