Skip to content
This repository has been archived by the owner on Dec 6, 2023. It is now read-only.

[2017-2019, maintained, stable; great for Go, meagre for others] multi-language, multi-editor IDE backend (frontends in separate repos) ➜ first iteration: language support for Go (fully) & Haskell (minimally) ➜ front-ends: for the VScode and Textadept editors (in `zentient-vscode` & `zentient-textadept` repos)

metaleap/zentient

Repository files navigation

z

-- import "github.com/metaleap/zentient"

Usage

var (
	Strf = fmt.Sprintf
	Lang struct {
		InitErr error
		ID      string
		Title   string
		Live    bool
		Misc    struct {
			BacktickStrings bool
		}
		SrcMod    ISrcMod
		SrcIntel  ISrcIntel
		Diag      IDiag
		Extras    IExtras
		PkgIntel  IPkgIntel
		Caddies   []*Caddy
		Settings  ISettings
		Tooling   ITooling
		Workspace IWorkspace
		Pages     IPages
	}
	Prog struct {
		Cfg Config

		Name string
		Dir  struct {
			Cache  string
			Config string
		}
	}
)

func BadMsg

func BadMsg(what string, which string) string

func BadPanic

func BadPanic(what string, which string)

func CaddyBuildOnDone

func CaddyBuildOnDone(failed map[string]bool, skipped map[string]bool, all []string, timeTaken time.Duration)

func CaddyBuildOnRunning

func CaddyBuildOnRunning(numJobs int, cur int, all string)

func Init

func Init() (err error)

func InitAndServe

func InitAndServe(onPreInit func() error, onPostInit func())

func PrettifyPathsIn

func PrettifyPathsIn(s string) string

func SendNotificationMessageToClient

func SendNotificationMessageToClient(level DiagSeverity, message string) (err error)

func Serve

func Serve() (err error)

func ToolGonePanic

func ToolGonePanic(missingToolName string)

func ToolsMsgGone

func ToolsMsgGone(missingToolName string) string

func ToolsMsgMore

func ToolsMsgMore(missingToolName string) string

type BuildProgress

type BuildProgress struct {
	NumJobs   int
	StartTime time.Time
	Failed    map[string]bool
	Skipped   map[string]bool
	PkgNames  []string
}

func NewBuildProgress

func NewBuildProgress(numJobs int) *BuildProgress

func (*BuildProgress) AddPkgName

func (me *BuildProgress) AddPkgName(pkgName string)

func (*BuildProgress) OnDone

func (me *BuildProgress) OnDone()

func (*BuildProgress) OnJob

func (me *BuildProgress) OnJob(i int)

func (*BuildProgress) String

func (me *BuildProgress) String() string

type Caddy

type Caddy struct {
	ID     string `json:",omitempty"`
	LangID string `json:",omitempty"`
	Icon   string
	Title  string `json:",omitempty"`
	Status struct {
		Flag CaddyStatus
		Desc string `json:",omitempty"`
	}
	Details                 string `json:",omitempty"`
	UxActionID              string `json:",omitempty"`
	ShowTitle               bool   `json:",omitempty"`
	ShouldReRunWhenNextDone bool   `json:"-"`

	OnReady func() `json:"-"`
}

func (*Caddy) IsPendingOrBusy

func (me *Caddy) IsPendingOrBusy() bool

func (*Caddy) IsReady

func (me *Caddy) IsReady() bool

func (*Caddy) MarshalJSON

func (me *Caddy) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*Caddy) OnStatusChanged

func (me *Caddy) OnStatusChanged()

func (*Caddy) UnmarshalJSON

func (me *Caddy) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type CaddyStatus

type CaddyStatus uint8
const (
	CADDY_PENDING CaddyStatus = iota
	CADDY_ERROR
	CADDY_BUSY
	CADDY_GOOD
)

func (CaddyStatus) String

func (me CaddyStatus) String() (r string)

String implements the Go standard library's fmt.Stringer interface.

type Completion

type Completion uint8
const (
	CMPL_TEXT Completion = iota
	CMPL_METHOD
	CMPL_FUNCTION
	CMPL_CONSTRUCTOR
	CMPL_FIELD
	CMPL_VARIABLE
	CMPL_CLASS
	CMPL_INTERFACE
	CMPL_MODULE
	CMPL_PROPERTY
	CMPL_UNIT
	CMPL_VALUE
	CMPL_ENUM
	CMPL_KEYWORD
	CMPL_SNIPPET
	CMPL_COLOR
	CMPL_FILE
	CMPL_REFERENCE
	CMPL_FOLDER
	CMPL_ENUMMEMBER
	CMPL_CONSTANT
	CMPL_STRUCT
	CMPL_EVENT
	CMPL_OPERATOR
	CMPL_TYPEPARAMETER
)

func (Completion) String

func (me Completion) String() (r string)

String implements the Go standard library's fmt.Stringer interface.

type Config

type Config struct {
	Internal      map[string]interface{} `json:",omitempty"`
	FormatterName string                 `json:",omitempty"`
	FormatterProg string                 `json:",omitempty"`
	AutoDiags     []string               `json:",omitempty"`
}

func (*Config) Save

func (me *Config) Save() (err error)

type DiagBase

type DiagBase struct {
	Impl IDiag
}

func (*DiagBase) FixerUppers

func (*DiagBase) FixerUppers() []FixerUpper

func (*DiagBase) Init

func (me *DiagBase) Init()

func (*DiagBase) MenuCategory

func (me *DiagBase) MenuCategory() string

func (*DiagBase) NewDiagItemFrom

func (me *DiagBase) NewDiagItemFrom(srcRef *udev.SrcMsg, toolName string, fallbackFilePath func() string) (di *DiagItem)

func (*DiagBase) UpdateLintDiagsIfAndAsNeeded

func (me *DiagBase) UpdateLintDiagsIfAndAsNeeded(workspaceFiles WorkspaceFiles, autos bool, onlyFilePaths ...string)

func (*DiagBase) UpdateProbDiagsAsNeeded

func (me *DiagBase) UpdateProbDiagsAsNeeded(workspaceFiles WorkspaceFiles, writtenFiles []string)

type DiagBuildJobs

type DiagBuildJobs []*DiagJobBuild

func (DiagBuildJobs) Len

func (me DiagBuildJobs) Len() int

func (DiagBuildJobs) Less

func (me DiagBuildJobs) Less(i int, j int) bool

func (DiagBuildJobs) Swap

func (me DiagBuildJobs) Swap(i int, j int)

type DiagFixUps

type DiagFixUps struct {
	FilePath string
	Desc     map[string][]string
	Edits    SrcModEdits
	Dropped  []SrcModEdit
}

func (*DiagFixUps) MarshalJSON

func (me *DiagFixUps) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*DiagFixUps) UnmarshalJSON

func (me *DiagFixUps) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type DiagItem

type DiagItem struct {
	Cat         string `json:",omitempty"`
	Loc         SrcLoc
	Msg         string
	Rel         []SrcLens      `json:",omitempty"`
	SrcActions  []EditorAction `json:",omitempty"`
	StickyForce bool           `json:"-"`
	StickyAuto  bool           `json:"Sticky,omitempty"`
	Tags        []int          `json:"Tags,omitempty"`
}

func (*DiagItem) MarshalJSON

func (me *DiagItem) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*DiagItem) UnmarshalJSON

func (me *DiagItem) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type DiagItems

type DiagItems []*DiagItem

func (DiagItems) MarshalJSON

func (me DiagItems) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*DiagItems) UnmarshalJSON

func (me *DiagItems) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type DiagItemsBy

type DiagItemsBy map[string]DiagItems

func (DiagItemsBy) MarshalJSON

func (me DiagItemsBy) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*DiagItemsBy) UnmarshalJSON

func (me *DiagItemsBy) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type DiagJob

type DiagJob struct {
	AffectedFilePaths []string
	Target            IDiagJobTarget
}

func (*DiagJob) String

func (me *DiagJob) String() string

type DiagJobBuild

type DiagJobBuild struct {
	DiagJob
	TargetCmp func(IDiagJobTarget, IDiagJobTarget) bool
	Succeeded bool
}

func (*DiagJobBuild) IsSortedPriorTo

func (me *DiagJobBuild) IsSortedPriorTo(cmp interface{}) bool

type DiagJobLint

type DiagJobLint struct {
	DiagJob
	Tool *Tool
}

func (*DiagJobLint) Yield

func (me *DiagJobLint) Yield(diag *DiagItem)

type DiagLintJobs

type DiagLintJobs []*DiagJobLint

type DiagSeverity

type DiagSeverity int
const (
	DIAG_SEV_ERR DiagSeverity = iota
	DIAG_SEV_WARN
	DIAG_SEV_INFO
	DIAG_SEV_HINT
)

func (DiagSeverity) String

func (me DiagSeverity) String() (r string)

String implements the Go standard library's fmt.Stringer interface.

type Diags

type Diags struct {
	All    DiagItemsBy
	FixUps []*DiagFixUps
	LangID string
}

func (*Diags) MarshalJSON

func (me *Diags) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*Diags) UnmarshalJSON

func (me *Diags) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type EditorAction

type EditorAction struct {
	Title     string   `json:"title"`
	Cmd       string   `json:"command"`
	Hint      string   `json:"tooltip,omitempty"`
	Arguments []string `json:"arguments,omitempty"`
}

func (*EditorAction) MarshalJSON

func (me *EditorAction) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*EditorAction) UnmarshalJSON

func (me *EditorAction) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type Extras

type Extras struct {
	SrcIntels
	Items []*ExtrasItem
	Warns []string `json:",omitempty"`
	Desc  string   `json:",omitempty"`
	Url   string   `json:",omitempty"`
}

func (*Extras) MarshalJSON

func (me *Extras) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*Extras) UnmarshalJSON

func (me *Extras) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type ExtrasBase

type ExtrasBase struct {
	Impl IExtras
}

func (*ExtrasBase) Init

func (*ExtrasBase) Init()

type ExtrasItem

type ExtrasItem struct {
	ID       string `json:"id"`
	Label    string `json:"label"`
	Desc     string `json:"description"`
	Detail   string `json:"detail,omitempty"`
	QueryArg string `json:"arg,omitempty"`
	FilePos  string `json:"fPos,omitempty"`
}

func (*ExtrasItem) MarshalJSON

func (me *ExtrasItem) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*ExtrasItem) UnmarshalJSON

func (me *ExtrasItem) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type FixUp

type FixUp struct {
	Name  string
	Items []string
	Edits SrcModEdits
}

type FixerUpper

type FixerUpper func(*DiagItem) *FixUp

type IDiag

type IDiag interface {
	IDiagBuild
	IDiagLint
	IMenuItems
	// contains filtered or unexported methods
}

type IDiagBuild

type IDiagBuild interface {
	FixerUppers() []FixerUpper
	PrepProbJobs(WorkspaceFiles, []string) DiagBuildJobs
	RunProbJobs(DiagBuildJobs, WorkspaceFiles) DiagItems
	UpdateProbDiagsAsNeeded(WorkspaceFiles, []string)
}

type IDiagJobTarget

type IDiagJobTarget interface {
}

type IDiagLint

type IDiagLint interface {
	KnownLinters() Tools
	PrepLintJobs(WorkspaceFiles, Tools, []string) DiagLintJobs
	RunLintJob(*DiagJobLint, WorkspaceFiles)
	UpdateLintDiagsIfAndAsNeeded(WorkspaceFiles, bool, ...string)
}

type IExtras

type IExtras interface {
	ListIntelExtras() []*ExtrasItem
	ListQueryExtras() []*ExtrasItem
	RunIntelExtra(*SrcLens, string, string, *Extras)
	RunQueryExtra(*SrcLens, string, string, *Extras)
	// contains filtered or unexported methods
}

type IList

type IList interface {
	UnfilteredDesc() string
	Count(ListFilters) int
	FilterByID(string) *ListFilter
	Filters() []*ListFilter
	List(ListFilters) ListItems
}

type IListItem

type IListItem interface {
	ISortable
}

type IListMenu

type IListMenu interface {
	IList
	IMenuItems

	ListItemToMenuItem(IListItem) *MenuItem
	// contains filtered or unexported methods
}

type IMenuItems

type IMenuItems interface {
	MenuCategory() string
	// contains filtered or unexported methods
}

type IObjSnap

type IObjSnap interface {
	ObjSnapPrefix() string
	ObjSnap(string) interface{}
}

type IPages

type IPages interface {
	PageBodyInnerHtml(string, []string, url.Values, string) string
	// contains filtered or unexported methods
}

type IPkgIntel

type IPkgIntel interface {
	IListMenu
	IObjSnap
	Pkgs() PkgInfos
}

type ISettings

type ISettings interface {
	IMenuItems

	KnownSettings() Settings
}

type ISortable

type ISortable interface {
	IsSortedPriorTo(interface{}) bool
}

type ISrcIntel

type ISrcIntel interface {
	CanIntelForCmplOrHover(*SrcIntelLex) bool
	ComplDetails(*SrcLens, string) *SrcIntelCompl
	ComplItems(*SrcLens) SrcIntelCompls
	ComplItemsShouldSort(*SrcLens) bool
	DefSym(*SrcLens) SrcLocs
	DefType(*SrcLens) SrcLocs
	DefImpl(*SrcLens) SrcLocs
	Highlights(*SrcLens, string) SrcLocs
	Hovers(*SrcLens) []SrcInfoTip
	Annotactions(*SrcLens) []*SrcAnnotaction
	References(*SrcLens, bool) SrcLocs
	Signature(*SrcLens) *SrcIntelSigHelp
	Symbols(*SrcLens, string, bool) SrcLenses
	// contains filtered or unexported methods
}

type ISrcMod

type ISrcMod interface {
	IMenuItems

	CodeActions(*SrcLens) []EditorAction
	DoesStdoutWithFilePathArg(*Tool) bool
	KnownFormatters() Tools
	RunRenamer(*SrcLens, string) SrcLenses
	RunFormatter(*Tool, string, *SrcFormattingClientPrefs, string, string) (string, string)
}

type ITooling

type ITooling interface {
	IMenuItems

	KnownTools() Tools
	NumInst() int
	NumTotal() int
}

type IWorkspace

type IWorkspace interface {
	IObjSnap
	json.Marshaler
	sync.Locker

	Dirs() WorkspaceDirs
	Files() WorkspaceFiles
	PrettyPath(string, ...string) string
	// contains filtered or unexported methods
}

type IpcIDs

type IpcIDs uint8
const (
	IPCID_MENUS_MAIN IpcIDs
	IPCID_MENUS_PKGS
	IPCID_MENUS_TOOLS

	IPCID_OBJ_SNAPSHOT
	IPCID_PAGE_HTML
	IPCID_CFG_RESETALL
	IPCID_CFG_LIST
	IPCID_CFG_SET
	IPCID_NOTIFY_INFO
	IPCID_NOTIFY_WARN
	IPCID_NOTIFY_ERR

	IPCID_PROJ_CHANGED
	IPCID_PROJ_POLLEVTS

	IPCID_SRCDIAG_LIST
	IPCID_SRCDIAG_RUN_CURFILE
	IPCID_SRCDIAG_RUN_OPENFILES
	IPCID_SRCDIAG_RUN_ALLFILES
	IPCID_SRCDIAG_FORGETALL
	IPCID_SRCDIAG_PEEKHIDDEN
	IPCID_SRCDIAG_PUB
	IPCID_SRCDIAG_AUTO_TOGGLE
	IPCID_SRCDIAG_AUTO_ALL
	IPCID_SRCDIAG_AUTO_NONE
	IPCID_SRCDIAG_STARTED
	IPCID_SRCDIAG_FINISHED

	IPCID_SRCMOD_FMT_SETDEFMENU
	IPCID_SRCMOD_FMT_SETDEFPICK
	IPCID_SRCMOD_FMT_RUNONFILE
	IPCID_SRCMOD_FMT_RUNONSEL
	IPCID_SRCMOD_RENAME
	IPCID_SRCMOD_ACTIONS

	IPCID_SRCINTEL_HOVER
	IPCID_SRCINTEL_SYMS_FILE
	IPCID_SRCINTEL_SYMS_PROJ
	IPCID_SRCINTEL_CMPL_ITEMS
	IPCID_SRCINTEL_CMPL_DETAILS
	IPCID_SRCINTEL_HIGHLIGHTS
	IPCID_SRCINTEL_ANNS
	IPCID_SRCINTEL_SIGNATURE
	IPCID_SRCINTEL_REFERENCES
	IPCID_SRCINTEL_DEFSYM
	IPCID_SRCINTEL_DEFTYPE
	IPCID_SRCINTEL_DEFIMPL

	IPCID_EXTRAS_INTEL_LIST
	IPCID_EXTRAS_INTEL_RUN
	IPCID_EXTRAS_QUERY_LIST
	IPCID_EXTRAS_QUERY_RUN
)

func (IpcIDs) String

func (me IpcIDs) String() (r string)

String implements the Go standard library's fmt.Stringer interface.

func (IpcIDs) Valid

func (me IpcIDs) Valid() (r bool)

Valid returns whether the value of this IpcIDs is between IPCID_MENUS_MAIN (inclusive) and IPCID_EXTRAS_QUERY_RUN (inclusive).

type IpcReq

type IpcReq struct {
	ReqID   int64       `json:"ri"`
	IpcID   IpcIDs      `json:"ii"`
	IpcArgs interface{} `json:"ia"`

	ProjUpd *WorkspaceChanges `json:"projUpd"`
	SrcLens *SrcLens          `json:"srcLens"`
}

func (*IpcReq) MarshalJSON

func (me *IpcReq) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*IpcReq) UnmarshalJSON

func (me *IpcReq) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type IpcResp

type IpcResp struct {
	IpcID       IpcIDs         `json:"ii,omitempty"`
	ReqID       int64          `json:"ri,omitempty"`
	ErrMsg      string         `json:"err,omitempty"`
	SrcIntel    *SrcIntel      `json:"sI,omitempty"`
	SrcDiags    *Diags         `json:"srcDiags,omitempty"`
	SrcMods     SrcLenses      `json:"srcMods,omitempty"`
	SrcActions  []EditorAction `json:"srcActions,omitempty"`
	Extras      *Extras        `json:"extras,omitempty"`
	Menu        *MenuResponse  `json:"menu,omitempty"`
	CaddyUpdate *Caddy         `json:"caddy,omitempty"`
	Val         interface{}    `json:"val,omitempty"`
}

func (*IpcResp) MarshalJSON

func (me *IpcResp) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*IpcResp) UnmarshalJSON

func (me *IpcResp) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type ListBase

type ListBase struct {
}

func (*ListBase) Count

func (me *ListBase) Count(all ListFilters) int

func (*ListBase) FilterByID

func (me *ListBase) FilterByID(id string) *ListFilter

type ListFilter

type ListFilter struct {
	ID        string
	Disabled  bool
	Title     string
	Desc      string
	OnSrcLens func(*ListFilter, *SrcLens)
	Pred      ListItemPredicate
}

type ListFilters

type ListFilters map[*ListFilter]bool

type ListItemPredicate

type ListItemPredicate func(IListItem) bool

type ListItems

type ListItems []IListItem

func (ListItems) Len

func (me ListItems) Len() int

func (ListItems) Less

func (me ListItems) Less(i int, j int) bool

func (ListItems) Swap

func (me ListItems) Swap(i, j int)

type ListMenuBase

type ListMenuBase struct {
	ListBase
}

func (*ListMenuBase) MenuCategory

func (me *ListMenuBase) MenuCategory() string

type Menu

type Menu struct {
	Desc     string    `json:"desc,omitempty"`
	TopLevel bool      `json:"topLevel,omitempty"`
	Items    MenuItems `json:"items"`
}

func (*Menu) MarshalJSON

func (me *Menu) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*Menu) UnmarshalJSON

func (me *Menu) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type MenuItem

type MenuItem struct {
	IpcID    IpcIDs      `json:"ii,omitempty"`
	IpcArgs  interface{} `json:"ia,omitempty"`
	Category string      `json:"c,omitempty"`
	Title    string      `json:"t"`
	Desc     string      `json:"d,omitempty"`
	Hint     string      `json:"h,omitempty"`
	Confirm  string      `json:"q,omitempty"`
}

func (*MenuItem) MarshalJSON

func (me *MenuItem) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*MenuItem) UnmarshalJSON

func (me *MenuItem) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type MenuItemArgPrompt

type MenuItemArgPrompt struct {
	Prompt      string `json:"prompt,omitempty"`
	Placeholder string `json:"placeHolder,omitempty"`
	Value       string `json:"value,omitempty"`
}

func (*MenuItemArgPrompt) MarshalJSON

func (me *MenuItemArgPrompt) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*MenuItemArgPrompt) UnmarshalJSON

func (me *MenuItemArgPrompt) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type MenuItems

type MenuItems []*MenuItem

func (MenuItems) MarshalJSON

func (me MenuItems) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*MenuItems) UnmarshalJSON

func (me *MenuItems) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type MenuResponse

type MenuResponse struct {
	SubMenu       *Menu   `json:",omitempty"`
	WebsiteURL    string  `json:",omitempty"`
	NoteInfo      string  `json:",omitempty"`
	NoteWarn      string  `json:",omitempty"`
	UxActionLabel string  `json:",omitempty"`
	Refs          SrcLocs `json:",omitempty"`
}

func (*MenuResponse) MarshalJSON

func (me *MenuResponse) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*MenuResponse) UnmarshalJSON

func (me *MenuResponse) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type PagesBase

type PagesBase struct {
	Impl IPages
}

func (*PagesBase) Init

func (*PagesBase) Init()

func (*PagesBase) PageBodyInnerHtml

func (*PagesBase) PageBodyInnerHtml(rawUri string, path []string, query url.Values, fragment string) string

type PkgInfo

type PkgInfo struct {
	Id        string
	ShortName string
	LongName  string
	Deps      func() PkgInfos
	Mems      func() []*PkgMemInfo
	Forget    func()
}

type PkgInfos

type PkgInfos []*PkgInfo

func (*PkgInfos) Add

func (me *PkgInfos) Add(pkg *PkgInfo)

func (PkgInfos) ById

func (me PkgInfos) ById(id string) *PkgInfo

type PkgIntelBase

type PkgIntelBase struct {
	ListMenuBase

	Impl IPkgIntel
}

func (*PkgIntelBase) Init

func (me *PkgIntelBase) Init()

func (*PkgIntelBase) ObjSnapPrefix

func (me *PkgIntelBase) ObjSnapPrefix() string

func (*PkgIntelBase) Pkgs

func (me *PkgIntelBase) Pkgs() PkgInfos

func (*PkgIntelBase) PkgsAdd

func (me *PkgIntelBase) PkgsAdd(pkg *PkgInfo)

type PkgMemInfo

type PkgMemInfo struct {
	Kind Symbol
	Name string
	Desc string
	Subs func() []*PkgMemInfo
}

type Setting

type Setting struct {
	Id         string
	Title      string
	Desc       string
	ValCfg     interface{}
	ValDef     interface{}
	OnChanging func(newVal interface{}) `json:"-"`
	OnChanged  func(oldVal interface{}) `json:"-"`
	OnReloaded func()                   `json:"-"`
}

func (*Setting) Val

func (me *Setting) Val() interface{}

func (*Setting) ValBool

func (me *Setting) ValBool() (val bool)

func (*Setting) ValInt

func (me *Setting) ValInt() (val int64)

func (*Setting) ValStr

func (me *Setting) ValStr() (val string)

func (*Setting) ValStrs

func (me *Setting) ValStrs() (val []string)

func (*Setting) ValUInt

func (me *Setting) ValUInt() (val uint64)

type Settings

type Settings []*Setting

type SettingsBase

type SettingsBase struct {
	Impl ISettings
}

func (*SettingsBase) Init

func (me *SettingsBase) Init()

func (*SettingsBase) KnownSettings

func (me *SettingsBase) KnownSettings() Settings

func (*SettingsBase) MenuCategory

func (*SettingsBase) MenuCategory() string

type SrcAnnotaction

type SrcAnnotaction struct {
	Range   SrcRange
	Title   string
	Desc    string `json:",omitempty"`
	CmdName string
}

func (*SrcAnnotaction) MarshalJSON

func (me *SrcAnnotaction) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*SrcAnnotaction) UnmarshalJSON

func (me *SrcAnnotaction) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type SrcFormattingClientPrefs

type SrcFormattingClientPrefs struct {
	InsertSpaces *bool
	TabSize      *int
}

type SrcInfoTip

type SrcInfoTip struct {
	Value string `json:"value"`

	// If empty, clients default to 'markdown'
	Language string `json:"language,omitempty"`
}

func (*SrcInfoTip) MarshalJSON

func (me *SrcInfoTip) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*SrcInfoTip) UnmarshalJSON

func (me *SrcInfoTip) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type SrcIntel

type SrcIntel struct {
	SrcIntels
	Sig  *SrcIntelSigHelp  `json:",omitempty"`
	Cmpl SrcIntelCompls    `json:",omitempty"`
	Syms SrcLenses         `json:",omitempty"`
	Anns []*SrcAnnotaction `json:",omitempty"`
}

func (*SrcIntel) MarshalJSON

func (me *SrcIntel) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*SrcIntel) UnmarshalJSON

func (me *SrcIntel) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type SrcIntelBase

type SrcIntelBase struct {
	Impl ISrcIntel
}

func (*SrcIntelBase) Annotactions

func (*SrcIntelBase) Annotactions(*SrcLens) []*SrcAnnotaction

func (*SrcIntelBase) CanIntelForCmplOrHover

func (*SrcIntelBase) CanIntelForCmplOrHover(*SrcIntelLex) bool

func (*SrcIntelBase) ComplDetails

func (*SrcIntelBase) ComplDetails(*SrcLens, string) *SrcIntelCompl

func (*SrcIntelBase) ComplItems

func (*SrcIntelBase) ComplItems(*SrcLens) SrcIntelCompls

func (*SrcIntelBase) ComplItemsShouldSort

func (*SrcIntelBase) ComplItemsShouldSort(*SrcLens) bool

func (*SrcIntelBase) DefImpl

func (*SrcIntelBase) DefImpl(*SrcLens) SrcLocs

func (*SrcIntelBase) DefSym

func (*SrcIntelBase) DefSym(*SrcLens) SrcLocs

func (*SrcIntelBase) DefType

func (*SrcIntelBase) DefType(*SrcLens) SrcLocs

func (*SrcIntelBase) Highlights

func (*SrcIntelBase) Highlights(*SrcLens, string) SrcLocs

func (*SrcIntelBase) Hovers

func (*SrcIntelBase) Hovers(*SrcLens) []SrcInfoTip

func (*SrcIntelBase) Init

func (*SrcIntelBase) Init()

func (*SrcIntelBase) References

func (*SrcIntelBase) References(*SrcLens, bool) SrcLocs

func (*SrcIntelBase) Signature

func (*SrcIntelBase) Signature(*SrcLens) *SrcIntelSigHelp

func (*SrcIntelBase) Symbols

func (*SrcIntelBase) Symbols(*SrcLens, string, bool) SrcLenses

type SrcIntelCompl

type SrcIntelCompl struct {
	Kind          Completion   `json:"kind"`
	Label         string       `json:"label"`
	Documentation *SrcIntelDoc `json:"documentation,omitempty"`
	Detail        string       `json:"detail,omitempty"`
	SortText      string       `json:"sortText,omitempty"`
	// FilterText    string       `json:"filterText,omitempty"`
	// InsertText    string       `json:"insertText,omitempty"`
	// CommitChars   []string     `json:"commitCharacters,omitempty"` // basically in all languages always operator/separator/punctuation (that is, "non-identifier") chars -- no need to send them for each item, for each language -- the client-side will do it
	SortPrio int `json:"-"`
}

func (*SrcIntelCompl) MarshalJSON

func (me *SrcIntelCompl) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*SrcIntelCompl) UnmarshalJSON

func (me *SrcIntelCompl) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type SrcIntelCompls

type SrcIntelCompls []*SrcIntelCompl

func (SrcIntelCompls) Len

func (me SrcIntelCompls) Len() int

func (SrcIntelCompls) Less

func (me SrcIntelCompls) Less(i int, j int) bool

func (SrcIntelCompls) MarshalJSON

func (me SrcIntelCompls) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (SrcIntelCompls) Swap

func (me SrcIntelCompls) Swap(i int, j int)

func (*SrcIntelCompls) UnmarshalJSON

func (me *SrcIntelCompls) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type SrcIntelDoc

type SrcIntelDoc struct {
	Value     string `json:"value,omitempty"`
	IsTrusted bool   `json:"isTrusted,omitempty"`
}

func (*SrcIntelDoc) MarshalJSON

func (me *SrcIntelDoc) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*SrcIntelDoc) UnmarshalJSON

func (me *SrcIntelDoc) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type SrcIntelLex

type SrcIntelLex struct {
	Ident   string
	Int     string
	Float   string
	Char    string
	String  string
	Comment string
	Other   string
}

type SrcIntelSigHelp

type SrcIntelSigHelp struct {
	ActiveSignature int               `json:"activeSignature"`
	ActiveParameter int               `json:"activeParameter,omitempty"`
	Signatures      []SrcIntelSigInfo `json:"signatures,omitempty"`
}

func (*SrcIntelSigHelp) MarshalJSON

func (me *SrcIntelSigHelp) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*SrcIntelSigHelp) UnmarshalJSON

func (me *SrcIntelSigHelp) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type SrcIntelSigInfo

type SrcIntelSigInfo struct {
	Label         string             `json:"label"`
	Documentation SrcIntelDoc        `json:"documentation,omitempty"`
	Parameters    []SrcIntelSigParam `json:"parameters"`
}

func (*SrcIntelSigInfo) MarshalJSON

func (me *SrcIntelSigInfo) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*SrcIntelSigInfo) UnmarshalJSON

func (me *SrcIntelSigInfo) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type SrcIntelSigParam

type SrcIntelSigParam struct {
	Label         string      `json:"label"`
	Documentation SrcIntelDoc `json:"documentation,omitempty"`
}

func (*SrcIntelSigParam) MarshalJSON

func (me *SrcIntelSigParam) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*SrcIntelSigParam) UnmarshalJSON

func (me *SrcIntelSigParam) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type SrcIntels

type SrcIntels struct {
	InfoTips []SrcInfoTip `json:",omitempty"`
	Refs     SrcLocs      `json:",omitempty"`
}

func (*SrcIntels) MarshalJSON

func (me *SrcIntels) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*SrcIntels) UnmarshalJSON

func (me *SrcIntels) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type SrcLens

type SrcLens struct {
	SrcLoc
	Txt  string `json:"t,omitempty"`
	Str  string `json:"s,omitempty"`
	CrLf bool   `json:"l,omitempty"`
}

func (*SrcLens) Byte0OffsetForPos

func (me *SrcLens) Byte0OffsetForPos(pos *SrcPos) int

func (*SrcLens) ByteOffsetForFirstLineBeginningWith

func (me *SrcLens) ByteOffsetForFirstLineBeginningWith(prefix string) int

func (*SrcLens) EnsureSrcFull

func (me *SrcLens) EnsureSrcFull()

func (*SrcLens) MarshalJSON

func (me *SrcLens) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*SrcLens) Rune1OffsetForByte0Offset

func (me *SrcLens) Rune1OffsetForByte0Offset(byte0off int) (rune1off int)

func (*SrcLens) UnmarshalJSON

func (me *SrcLens) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type SrcLenses

type SrcLenses []*SrcLens

func (*SrcLenses) AddFrom

func (me *SrcLenses) AddFrom(srcRefLoc *udev.SrcMsg, fallbackFilePath func() string) (lens *SrcLens)

func (SrcLenses) Len

func (me SrcLenses) Len() int

func (SrcLenses) Less

func (me SrcLenses) Less(i int, j int) bool

func (SrcLenses) MarshalJSON

func (me SrcLenses) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (SrcLenses) Swap

func (me SrcLenses) Swap(i int, j int)

func (*SrcLenses) UnmarshalJSON

func (me *SrcLenses) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type SrcLoc

type SrcLoc struct {
	Flag     int       `json:"e"` // don't omitempty, often member of an enum starting at 0
	FilePath string    `json:"f,omitempty"`
	Pos      *SrcPos   `json:"p,omitempty"`
	Range    *SrcRange `json:"r,omitempty"`
}

func (*SrcLoc) MarshalJSON

func (me *SrcLoc) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*SrcLoc) SetFilePathAndPosOrRangeFrom

func (me *SrcLoc) SetFilePathAndPosOrRangeFrom(srcRef *udev.SrcMsg, fallbackFilePath func() string)

func (*SrcLoc) UnmarshalJSON

func (me *SrcLoc) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type SrcLocs

type SrcLocs []*SrcLoc

func (*SrcLocs) Add

func (me *SrcLocs) Add(srcFilePath string, pos *udevlex.Pos) (loc *SrcLoc)

func (*SrcLocs) AddFrom

func (me *SrcLocs) AddFrom(srcRefLoc *udev.SrcMsg, fallbackFilePath func() string) (loc *SrcLoc)

func (SrcLocs) MarshalJSON

func (me SrcLocs) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*SrcLocs) UnmarshalJSON

func (me *SrcLocs) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type SrcModBase

type SrcModBase struct {
	Impl ISrcMod
}

func (*SrcModBase) CodeActions

func (*SrcModBase) CodeActions(srcLens *SrcLens) (all []EditorAction)

func (*SrcModBase) DoesStdoutWithFilePathArg

func (*SrcModBase) DoesStdoutWithFilePathArg(*Tool) bool

func (*SrcModBase) Init

func (me *SrcModBase) Init()

func (*SrcModBase) KnownFormatters

func (me *SrcModBase) KnownFormatters() Tools

func (*SrcModBase) MenuCategory

func (*SrcModBase) MenuCategory() string

func (*SrcModBase) RunFormatter

func (*SrcModBase) RunFormatter(*Tool, string, *SrcFormattingClientPrefs, string, string) (string, string)

func (*SrcModBase) RunRenamer

func (*SrcModBase) RunRenamer(srcLens *SrcLens, newName string) (all SrcLenses)

type SrcModEdit

type SrcModEdit struct {
	At  *SrcRange
	Val string // if not empty: inserts if At is pos, replaces if At is range. if empty: deletes if At is range, errors if At is pos.
}

func (*SrcModEdit) MarshalJSON

func (me *SrcModEdit) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*SrcModEdit) UnmarshalJSON

func (me *SrcModEdit) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type SrcModEdits

type SrcModEdits []SrcModEdit

func (*SrcModEdits) AddDeleteLine

func (me *SrcModEdits) AddDeleteLine(srcFilePath string, lineAt *SrcPos)

func (*SrcModEdits) AddInsert

func (me *SrcModEdits) AddInsert(srcFilePath string, atPos func(*SrcLens, *SrcPos) string)

func (SrcModEdits) Len

func (me SrcModEdits) Len() int

func (SrcModEdits) Less

func (me SrcModEdits) Less(i int, j int) bool

func (SrcModEdits) MarshalJSON

func (me SrcModEdits) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (SrcModEdits) Swap

func (me SrcModEdits) Swap(i int, j int)

func (*SrcModEdits) UnmarshalJSON

func (me *SrcModEdits) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type SrcPos

type SrcPos struct {
	Ln  int `json:"l,omitempty"`
	Col int `json:"c,omitempty"`
	// rune1 not byte0 offset!
	Off int `json:"o,omitempty"`
}

All public fields are 1-based (so 0 means 'missing') and rune-not-byte-based

func (*SrcPos) MarshalJSON

func (me *SrcPos) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*SrcPos) SetRune1OffFromByte0Off

func (me *SrcPos) SetRune1OffFromByte0Off(byte0Off int, src []byte)

func (*SrcPos) String

func (me *SrcPos) String() string

func (*SrcPos) UnmarshalJSON

func (me *SrcPos) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type SrcRange

type SrcRange struct {
	Start SrcPos `json:"s"`
	End   SrcPos `json:"e,omitempty"`
}

func (*SrcRange) MarshalJSON

func (me *SrcRange) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*SrcRange) UnmarshalJSON

func (me *SrcRange) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type Symbol

type Symbol uint8
const (
	SYM_FILE Symbol = iota
	SYM_MODULE
	SYM_NAMESPACE
	SYM_PACKAGE
	SYM_CLASS
	SYM_METHOD
	SYM_PROPERTY
	SYM_FIELD
	SYM_CONSTRUCTOR
	SYM_ENUM
	SYM_INTERFACE
	SYM_FUNCTION
	SYM_VARIABLE
	SYM_CONSTANT
	SYM_STRING
	SYM_NUMBER
	SYM_BOOLEAN
	SYM_ARRAY
	SYM_OBJECT
	SYM_KEY
	SYM_NULL
	SYM_ENUMMEMBER
	SYM_STRUCT
	SYM_EVENT
	SYM_OPERATOR
	SYM_TYPEPARAMETER
)

func (Symbol) String

func (me Symbol) String() (r string)

String implements the Go standard library's fmt.Stringer interface.

type Tool

type Tool struct {
	Cats      []ToolCats
	Name      string
	Installed bool
	Website   string
	DiagSev   DiagSeverity
}

func (*Tool) Exec

func (*Tool) Exec(panicOnErr bool, stdin string, cmdName string, cmdArgs []string) (string, string)

func (*Tool) NotInstalledMessage

func (me *Tool) NotInstalledMessage() string

type ToolCats

type ToolCats uint8
const (
	TOOLS_CAT_MOD_REN ToolCats
	TOOLS_CAT_MOD_FMT
	TOOLS_CAT_INTEL_TIPS
	TOOLS_CAT_INTEL_SYMS
	TOOLS_CAT_INTEL_HIGH
	TOOLS_CAT_INTEL_CMPL
	TOOLS_CAT_INTEL_NAV
	TOOLS_CAT_EXTRAS_QUERY
	TOOLS_CAT_DIAGS
	TOOLS_CAT_RUNONSAVE
)

func (ToolCats) String

func (me ToolCats) String() string

type ToolingBase

type ToolingBase struct {
	Impl ITooling
}

func (*ToolingBase) CountNumInst

func (me *ToolingBase) CountNumInst(all Tools) (numInst int)

func (*ToolingBase) Init

func (me *ToolingBase) Init()

func (*ToolingBase) KnownToolsFor

func (me *ToolingBase) KnownToolsFor(cats ...ToolCats) (tools Tools)

func (*ToolingBase) MenuCategory

func (me *ToolingBase) MenuCategory() string

type Tools

type Tools []*Tool

type WorkspaceBase

type WorkspaceBase struct {
	Impl IWorkspace `json:"-"`

	// raised before updating zentient-internal workspaceFolders/openedFiles and then requesting new diags
	OnBeforeChanges WorkspaceChangesBefore `json:"-"`
	// raised after updating zentient-internal workspaceFolders/openedFiles and then requesting new diags
	OnAfterChanges WorkspaceChangesAfter `json:"-"`
}

func (*WorkspaceBase) Dirs

func (me *WorkspaceBase) Dirs() (dirs WorkspaceDirs)

func (*WorkspaceBase) Files

func (me *WorkspaceBase) Files() (files WorkspaceFiles)

func (*WorkspaceBase) Init

func (me *WorkspaceBase) Init()

func (*WorkspaceBase) Lock

func (me *WorkspaceBase) Lock()

func (*WorkspaceBase) MarshalJSON

func (me *WorkspaceBase) MarshalJSON() ([]byte, error)

func (*WorkspaceBase) ObjSnap

func (me *WorkspaceBase) ObjSnap(string) interface{}

func (*WorkspaceBase) ObjSnapPrefix

func (*WorkspaceBase) ObjSnapPrefix() string

func (*WorkspaceBase) PrettyPath

func (me *WorkspaceBase) PrettyPath(fsPath string, otherEnvs ...string) string

func (*WorkspaceBase) Unlock

func (me *WorkspaceBase) Unlock()

type WorkspaceChanges

type WorkspaceChanges struct {
	AddedDirs    []string
	RemovedDirs  []string
	OpenedFiles  []string
	ClosedFiles  []string
	WrittenFiles []string
	LiveFiles    map[string]string
}

func (*WorkspaceChanges) HasDirChanges

func (me *WorkspaceChanges) HasDirChanges() bool

func (*WorkspaceChanges) MarshalJSON

func (me *WorkspaceChanges) MarshalJSON() (r []byte, err error)

MarshalJSON implements the Go standard library's encoding/json.Marshaler interface.

func (*WorkspaceChanges) UnmarshalJSON

func (me *WorkspaceChanges) UnmarshalJSON(b []byte) (err error)

UnmarshalJSON implements the Go standard library's encoding/json.Unmarshaler interface.

type WorkspaceChangesAfter

type WorkspaceChangesAfter func(upd *WorkspaceChanges)

type WorkspaceChangesBefore

type WorkspaceChangesBefore func(upd *WorkspaceChanges, freshFiles []string, willAutoLint bool)

type WorkspaceDir

type WorkspaceDir struct {
	Path string
}

type WorkspaceDirs

type WorkspaceDirs map[string]*WorkspaceDir

type WorkspaceFile

type WorkspaceFile struct {
	Path   string
	IsOpen bool `json:",omitempty"`
	Diags  struct {
		AutoLintUpToDate bool
		Problems         diags
		Lintishs         diags
	}
}

type WorkspaceFiles

type WorkspaceFiles map[string]*WorkspaceFile

func (WorkspaceFiles) Has

func (me WorkspaceFiles) Has(fpath string) bool

func (WorkspaceFiles) HasProbDiags

func (me WorkspaceFiles) HasProbDiags(filePath string) (has bool)

func (WorkspaceFiles) IsOpen

func (me WorkspaceFiles) IsOpen(fpath string) bool

func (WorkspaceFiles) OrFromCurImplIfNil

func (me WorkspaceFiles) OrFromCurImplIfNil() (ret WorkspaceFiles)

About

[2017-2019, maintained, stable; great for Go, meagre for others] multi-language, multi-editor IDE backend (frontends in separate repos) ➜ first iteration: language support for Go (fully) & Haskell (minimally) ➜ front-ends: for the VScode and Textadept editors (in `zentient-vscode` & `zentient-textadept` repos)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages