From c51ca7c62e08f43ef9974af35886d30ce54a1f22 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Thu, 16 May 2024 20:22:42 +0200 Subject: refactor: use interface to unify Options and Packages --- internal/nix/option.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 internal/nix/option.go (limited to 'internal/nix/option.go') diff --git a/internal/nix/option.go b/internal/nix/option.go new file mode 100644 index 0000000..c1cc4c3 --- /dev/null +++ b/internal/nix/option.go @@ -0,0 +1,37 @@ +package nix + +type Markdown string + +type Value struct { + Text string `json:",omitempty"` + Markdown Markdown `json:",omitempty"` +} + +type Link struct { + Name string + URL string +} + +type Option struct { + Name string + Source string + Declarations []Link + Default *Value `json:",omitempty"` + Description Markdown + Example *Value `json:",omitempty"` + Loc []string + RelatedPackages Markdown `json:",omitempty"` + Type string +} + +func (Option) BleveType() string { + return "option" +} + +func (p Option) GetName() string { + return p.Name +} + +func (p Option) GetSource() string { + return p.Source +} -- cgit 1.4.1