Help us shape the future of Go! Take the 2026 Go Developer Survey

ideparse

package
v1.16.2 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2026 License: MPL-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AllowedIDEs = []AllowedIDE{
	{
		Name:        config.IDENone,
		DisplayName: "None",
		Options:     map[string]ide.Option{},
		Icon:        config.WebsiteAssetsURL + "/none.svg",
		IconDark:    config.WebsiteAssetsURL + "/none_dark.svg",
		Group:       config.IDEGroupPrimary,
	},
	{
		Name:        config.IDEVSCode,
		DisplayName: "VS Code",
		Options:     vscode.Options,
		Icon:        config.WebsiteAssetsURL + "/vscode.svg",
		Group:       config.IDEGroupPrimary,
	},
	{
		Name:        config.IDEOpenVSCode,
		DisplayName: "OpenVSCode Server",
		Options:     openvscode.Options,
		Icon:        config.WebsiteAssetsURL + "/vscodebrowser.svg",
		Group:       config.IDEGroupPrimary,
	},
	{
		Name:        config.IDECodeServer,
		DisplayName: "code-server",
		Options:     codeserver.Options,
		Icon:        config.WebsiteAssetsURL + "/code-server.svg",
		Group:       config.IDEGroupPrimary,
	},
	{
		Name:        config.IDEVSCodeWeb,
		DisplayName: "VS Code for the Web",
		Options:     vscodeweb.Options,
		Icon:        config.WebsiteAssetsURL + "/vscode-web.svg",
		Group:       config.IDEGroupPrimary,
	},
	{
		Name:        config.IDECursor,
		DisplayName: "Cursor",
		Options:     vscode.Options,
		Icon:        config.WebsiteAssetsURL + "/cursor.svg",
		Group:       config.IDEGroupPrimary,
	},
	{
		Name:        config.IDEZed,
		DisplayName: "Zed",
		Options:     ide.Options{},
		Icon:        config.WebsiteAssetsURL + "/zed.svg",
		Group:       config.IDEGroupPrimary,
	},
	{
		Name:        config.IDECodium,
		DisplayName: "VSCodium",
		Options:     vscode.Options,
		Icon:        config.WebsiteAssetsURL + "/codium.svg",
		Group:       config.IDEGroupPrimary,
	},
	{
		Name:        config.IDEIntellij,
		DisplayName: "IntelliJ IDEA",
		Options:     jetbrains.IntellijOptions,
		Icon:        config.WebsiteAssetsURL + "/intellij.svg",
		Group:       config.IDEGroupJetBrains,
	},
	{
		Name:        config.IDEPyCharm,
		DisplayName: "PyCharm",
		Options:     jetbrains.PyCharmOptions,
		Icon:        config.WebsiteAssetsURL + "/pycharm.svg",
		Group:       config.IDEGroupJetBrains,
	},
	{
		Name:        config.IDEPhpStorm,
		DisplayName: "PhpStorm",
		Options:     jetbrains.PhpStormOptions,
		Icon:        config.WebsiteAssetsURL + "/phpstorm.svg",
		Group:       config.IDEGroupJetBrains,
	},
	{
		Name:        config.IDERider,
		DisplayName: "Rider",
		Options:     jetbrains.RiderOptions,
		Icon:        config.WebsiteAssetsURL + "/rider.svg",
		Group:       config.IDEGroupJetBrains,
	},
	{
		Name:        config.IDEFleet,
		DisplayName: "Fleet",
		Options:     fleet.Options,
		Icon:        config.WebsiteAssetsURL + "/fleet.svg",
		Group:       config.IDEGroupJetBrains,
	},
	{
		Name:        config.IDEGoland,
		DisplayName: "GoLand",
		Options:     jetbrains.GolandOptions,
		Icon:        config.WebsiteAssetsURL + "/goland.svg",
		Group:       config.IDEGroupJetBrains,
	},
	{
		Name:        config.IDEWebStorm,
		DisplayName: "WebStorm",
		Options:     jetbrains.WebStormOptions,
		Icon:        config.WebsiteAssetsURL + "/webstorm.svg",
		Group:       config.IDEGroupJetBrains,
	},
	{
		Name:        config.IDERustRover,
		DisplayName: "RustRover",
		Options:     jetbrains.RustRoverOptions,
		Icon:        config.WebsiteAssetsURL + "/rustrover.svg",
		Group:       config.IDEGroupJetBrains,
	},
	{
		Name:        config.IDERubyMine,
		DisplayName: "RubyMine",
		Options:     jetbrains.RubyMineOptions,
		Icon:        config.WebsiteAssetsURL + "/rubymine.svg",
		Group:       config.IDEGroupJetBrains,
	},
	{
		Name:        config.IDECLion,
		DisplayName: "CLion",
		Options:     jetbrains.CLionOptions,
		Icon:        config.WebsiteAssetsURL + "/clion.svg",
		Group:       config.IDEGroupJetBrains,
	},
	{
		Name:        config.IDEDataSpell,
		DisplayName: "DataSpell",
		Options:     jetbrains.DataSpellOptions,
		Icon:        config.WebsiteAssetsURL + "/dataspell.svg",
		Group:       config.IDEGroupJetBrains,
	},
	{
		Name:        config.IDEJupyterNotebook,
		DisplayName: "Jupyter Notebook",
		Options:     jupyter.Options,
		Icon:        config.WebsiteAssetsURL + "/jupyter.svg",
		IconDark:    config.WebsiteAssetsURL + "/jupyter_dark.svg",
		Group:       config.IDEGroupOther,
	},
	{
		Name:        config.IDEMarimo,
		DisplayName: "marimo",
		Options:     marimo.Options,
		Icon:        config.WebsiteAssetsURL + "/marimo.svg",
		IconDark:    config.WebsiteAssetsURL + "/marimo_dark.svg",
		Group:       config.IDEGroupOther,
	},
	{
		Name:        config.IDEVSCodeInsiders,
		DisplayName: "VS Code Insiders",
		Options:     vscode.Options,
		Icon:        config.WebsiteAssetsURL + "/vscode_insiders.svg",
		Group:       config.IDEGroupOther,
	},
	{
		Name:        config.IDEPositron,
		DisplayName: "Positron",
		Options:     vscode.Options,
		Icon:        config.WebsiteAssetsURL + "/positron.svg",
		Group:       config.IDEGroupOther,
	},
	{
		Name:        config.IDERStudio,
		DisplayName: "RStudio Server",
		Options:     rstudio.Options,
		Icon:        config.WebsiteAssetsURL + "/rstudio.svg",
		Group:       config.IDEGroupOther,
	},
	{
		Name:        config.IDEWindsurf,
		DisplayName: "Windsurf Editor",
		Options:     vscode.Options,
		Icon:        config.WebsiteAssetsURL + "/windsurf.svg",
		Group:       config.IDEGroupPrimary,
	},
	{
		Name:        config.IDEAntigravity,
		DisplayName: "Google Antigravity",
		Options:     vscode.Options,
		Icon:        config.WebsiteAssetsURL + "/antigravity.svg",
		Group:       config.IDEGroupPrimary,
	},
	{
		Name:        config.IDEBob,
		DisplayName: "IBM Bob",
		Options:     vscode.Options,
		Icon:        config.WebsiteAssetsURL + "/bob.svg",
		IconDark:    config.WebsiteAssetsURL + "/bob_dark.svg",
		Group:       config.IDEGroupPrimary,
	},
}

Functions

func GetIDEOptions

func GetIDEOptions(ide string) (ide.Options, error)

func ParseOptions

func ParseOptions(options []string, ideOptions ide.Options) (map[string]config.OptionValue, error)

func RefreshIDEOptions

func RefreshIDEOptions(
	devsyConfig *config.Config,
	workspace *provider.Workspace,
	ide string,
	options []string,
) (*provider.Workspace, error)

Types

type AllowedIDE

type AllowedIDE struct {
	// Name of the IDE
	Name config.IDE `json:"name,omitempty"`
	// DisplayName is the name to show to the user
	DisplayName string `json:"displayName,omitempty"`
	// Options of the IDE
	Options ide.Options `json:"options,omitempty"`
	// Icon holds an image URL that will be displayed
	Icon string `json:"icon,omitempty"`
	// IconDark holds an image URL that will be displayed in dark mode
	IconDark string `json:"iconDark,omitempty"`
	// Group this IDE belongs to, e.g. for navigation
	Group config.IDEGroup `json:"group,omitempty"`
}

Jump to

Keyboard shortcuts

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