goplsのSymbolMatcherとSymbolStyleオプション

以下の記事で、workspace/symbolのオプションは補完と同じmatcherと紹介したが、現在のv0.4.4ではsymbolMatchersymbolStyleになっている。 daisuzu.hatenablog.com

まずはv0.4.1matchersymbolMatcherに変わり、それまでと同様、

  • fuzzy
  • caseSensitive
  • caseInsensitive(デフォルト)

の3つが補完と独立して設定できるようになった。

その後、v0.4.4symbolStyleが追加され、

  • package(デフォルト)
  • full
  • dynamic

を指定できるようになった。

packageの場合は今までと同様、パッケージ名をクエリに含める際にはコードで使う時のようにcontext.Contextといった形式で検索する。

新たに追加されたfullではgolang.org/x/net/context.Contextのようにすることで同じパッケージ名の別モジュールを区別することが可能になった。

dynamicはpackage→fullの順番でマッチさせるため、パッケージ名を含んだクエリはpackageと同じ結果になり、インポートパスから指定したクエリはfullと同じ結果になる。