options

package
v0.1.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package options is the configuration layer of thrift-ls. It loads and layers the thrift-ls.json document — formatting settings (owned by the formatter), include paths, and the log level — so configuration sources can override each other: defaults, a JSON config file, CLI flags, and LSP workspace settings.

The config file is discovered by walking up from the file being formatted, like Biome's config discovery. THRIFT_LS_CONFIG overrides the search with an explicit path.

Index

Constants

View Source
const ConfigFileName = "thrift-ls.json"

ConfigFileName is the JSON config file name.

Variables

This section is empty.

Functions

func FindConfig

func FindConfig(dir string) (string, error)

FindConfig returns the config file path for dir: THRIFT_LS_CONFIG when set, otherwise the nearest thrift-ls.json walking up from dir. It returns an empty path when no config exists.

Types

type Patch

type Patch struct {
	formatter.FormatPatch

	IncludePaths *[]string `json:"includePaths"`
	LogLevel     *int      `json:"logLevel"`
}

Patch is a partial set of options; nil fields are unset. The formatting fields are promoted from the embedded formatter patch and decode flat, so thrift-ls.json keeps its top-level keys ("printWidth", ...).

func Default

func Default() Patch

Default returns the default options as a fully-set patch.

func Effective

func Effective(cfg *Patch) Patch

Effective returns the effective options for a file: defaults with the config patch applied. cfg may be nil.

func Load

func Load(path string) (*Patch, error)

Load reads and parses a config file. Unknown keys are rejected so that typos and stale settings (e.g. the removed overrides feature) fail loudly.

func Parse

func Parse(data []byte) (*Patch, error)

Parse parses a config document. Unknown keys are rejected so that typos and stale settings (e.g. the removed overrides feature) fail loudly. Include paths in the document are left as written; Load resolves them against the config file's directory.

func (Patch) Apply

func (p Patch) Apply(base Patch) Patch

Apply overlays p onto base: every set field of p replaces the corresponding field of base.

func (Patch) Validate

func (p Patch) Validate() error

Validate checks every set field for validity.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL