mirror of
https://github.com/JanDeDobbeleer/oh-my-posh.git
synced 2025-03-05 20:49:04 -08:00
feat(language): cache version info
This commit is contained in:
parent
0715bf1cec
commit
ed40fc7bf5
|
@ -282,3 +282,12 @@ func (env *MockedEnvironment) SystemInfo() (*platform.SystemInfo, error) {
|
|||
args := env.Called()
|
||||
return args.Get(0).(*platform.SystemInfo), args.Error(1)
|
||||
}
|
||||
|
||||
func (env *MockedEnvironment) Unset(name string) {
|
||||
for i := 0; i < len(env.ExpectedCalls); i++ {
|
||||
f := env.ExpectedCalls[i]
|
||||
if f.Method == name {
|
||||
f.Unset()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -101,7 +101,7 @@ type Cache interface {
|
|||
// In case the ttl expired, the function returns false.
|
||||
Get(key string) (string, bool)
|
||||
// Sets a value for a given key.
|
||||
// The ttl indicates how may minutes to cache the value.
|
||||
// The ttl indicates how many minutes to cache the value.
|
||||
Set(key, value string, ttl int)
|
||||
// Deletes a key from the cache.
|
||||
Delete(key string)
|
||||
|
|
|
@ -2,108 +2,77 @@ package segments
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/mock"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/platform"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/properties"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestCdsSegment(t *testing.T) {
|
||||
cases := []struct {
|
||||
Case string
|
||||
ExpectedString string
|
||||
ExpectedEnabled bool
|
||||
File string
|
||||
Template string
|
||||
Version string
|
||||
PackageJSON string
|
||||
DisplayMode string
|
||||
Case string
|
||||
ExpectedString string
|
||||
Template string
|
||||
Version string
|
||||
PackageJSON string
|
||||
DisplayMode string
|
||||
}{
|
||||
{
|
||||
Case: "1) cds 5.5.0 - file .cdsrc.json present",
|
||||
ExpectedString: "5.5.0",
|
||||
ExpectedEnabled: true,
|
||||
File: ".cdsrc.json",
|
||||
Version: "@sap/cds: 5.5.0\n@sap/cds-compiler: 2.7.0\n@sap/cds-dk: 4.5.3",
|
||||
DisplayMode: DisplayModeFiles,
|
||||
Case: "1) cds 5.5.0 - file .cdsrc.json present",
|
||||
ExpectedString: "5.5.0",
|
||||
Version: "@sap/cds: 5.5.0\n@sap/cds-compiler: 2.7.0\n@sap/cds-dk: 4.5.3",
|
||||
DisplayMode: DisplayModeFiles,
|
||||
},
|
||||
{
|
||||
Case: "2) cds 5.5.1 - file some.cds",
|
||||
ExpectedString: "5.5.1",
|
||||
ExpectedEnabled: true,
|
||||
File: "some.cds",
|
||||
Version: "@sap/cds: 5.5.1\n@sap/cds-compiler: 2.7.0\n@sap/cds-dk: 4.5.3",
|
||||
DisplayMode: DisplayModeFiles,
|
||||
Case: "2) cds 5.5.1 - file some.cds",
|
||||
ExpectedString: "5.5.1",
|
||||
Version: "@sap/cds: 5.5.1\n@sap/cds-compiler: 2.7.0\n@sap/cds-dk: 4.5.3",
|
||||
DisplayMode: DisplayModeFiles,
|
||||
},
|
||||
{
|
||||
Case: "3) cds 5.5.2 - no files",
|
||||
ExpectedString: "",
|
||||
ExpectedEnabled: false,
|
||||
DisplayMode: DisplayModeFiles,
|
||||
Case: "4) cds 5.5.3 - package.json dependency",
|
||||
ExpectedString: "5.5.3",
|
||||
Version: "@sap/cds: 5.5.3\n@sap/cds-compiler: 2.7.0\n@sap/cds-dk: 4.5.3",
|
||||
PackageJSON: "{ \"name\": \"my-app\",\"dependencies\": { \"@sap/cds\": \"^5\" } }",
|
||||
DisplayMode: DisplayModeContext,
|
||||
},
|
||||
{
|
||||
Case: "4) cds 5.5.3 - package.json dependency",
|
||||
ExpectedString: "5.5.3",
|
||||
ExpectedEnabled: true,
|
||||
Version: "@sap/cds: 5.5.3\n@sap/cds-compiler: 2.7.0\n@sap/cds-dk: 4.5.3",
|
||||
PackageJSON: "{ \"name\": \"my-app\",\"dependencies\": { \"@sap/cds\": \"^5\" } }",
|
||||
DisplayMode: DisplayModeContext,
|
||||
Case: "4) cds 5.5.4 - package.json dependency, major + minor",
|
||||
ExpectedString: "5.5",
|
||||
Template: "{{ .Major }}.{{ .Minor }}",
|
||||
Version: "@sap/cds: 5.5.4\n@sap/cds-compiler: 2.7.0\n@sap/cds-dk: 4.5.3",
|
||||
PackageJSON: "{ \"name\": \"my-app\",\"dependencies\": { \"@sap/cds\": \"^5\" } }",
|
||||
DisplayMode: DisplayModeContext,
|
||||
},
|
||||
{
|
||||
Case: "4) cds 5.5.4 - package.json dependency, major + minor",
|
||||
ExpectedString: "5.5",
|
||||
ExpectedEnabled: true,
|
||||
Template: "{{ .Major }}.{{ .Minor }}",
|
||||
Version: "@sap/cds: 5.5.4\n@sap/cds-compiler: 2.7.0\n@sap/cds-dk: 4.5.3",
|
||||
PackageJSON: "{ \"name\": \"my-app\",\"dependencies\": { \"@sap/cds\": \"^5\" } }",
|
||||
DisplayMode: DisplayModeContext,
|
||||
Case: "6) cds 5.5.9 - display always",
|
||||
ExpectedString: "5.5.9",
|
||||
Version: "@sap/cds: 5.5.9\n@sap/cds-compiler: 2.7.0\n@sap/cds-dk: 4.5.3",
|
||||
PackageJSON: "{ \"name\": \"my-app\",\"dependencies\": { \"@sap/cds\": \"^5\" } }",
|
||||
DisplayMode: DisplayModeAlways,
|
||||
},
|
||||
{
|
||||
Case: "5) cds 5.5.5 - package.json present, no dependency, no files",
|
||||
ExpectedString: "",
|
||||
ExpectedEnabled: false,
|
||||
Version: "@sap/cds: 5.5.5\n@sap/cds-compiler: 2.7.0\n@sap/cds-dk: 4.5.3",
|
||||
PackageJSON: "{ \"name\": \"my-app\",\"dependencies\": { \"@sap/some\": \"^5\" } }",
|
||||
DisplayMode: DisplayModeContext,
|
||||
},
|
||||
{
|
||||
Case: "6) cds 5.5.9 - display always",
|
||||
ExpectedString: "5.5.9",
|
||||
ExpectedEnabled: true,
|
||||
Version: "@sap/cds: 5.5.9\n@sap/cds-compiler: 2.7.0\n@sap/cds-dk: 4.5.3",
|
||||
PackageJSON: "{ \"name\": \"my-app\",\"dependencies\": { \"@sap/cds\": \"^5\" } }",
|
||||
DisplayMode: DisplayModeAlways,
|
||||
},
|
||||
{
|
||||
Case: "7) cds 5.5.9 - package.json, no dependencies section",
|
||||
ExpectedString: "",
|
||||
ExpectedEnabled: false,
|
||||
Version: "@sap/cds: 5.5.9\n@sap/cds-compiler: 2.7.0\n@sap/cds-dk: 4.5.3",
|
||||
PackageJSON: "{ \"name\": \"my-app\" }",
|
||||
DisplayMode: DisplayModeContext,
|
||||
},
|
||||
{
|
||||
Case: "8) cds 5.5.0 - file .cdsrc-private.json present",
|
||||
ExpectedString: "5.5.0",
|
||||
ExpectedEnabled: true,
|
||||
File: ".cdsrc-private.json",
|
||||
Version: "@sap/cds: 5.5.0\n@sap/cds-compiler: 2.7.0\n@sap/cds-dk: 4.5.3",
|
||||
DisplayMode: DisplayModeFiles,
|
||||
Case: "8) cds 5.5.0 - file .cdsrc-private.json present",
|
||||
ExpectedString: "5.5.0",
|
||||
Version: "@sap/cds: 5.5.0\n@sap/cds-compiler: 2.7.0\n@sap/cds-dk: 4.5.3",
|
||||
DisplayMode: DisplayModeFiles,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
var env = new(mock.MockedEnvironment)
|
||||
env.On("HasCommand", "cds").Return(true)
|
||||
env.On("RunCommand", "cds", []string{"--version"}).Return(tc.Version, nil)
|
||||
env.On("Pwd").Return("/usr/home/dev/my-app")
|
||||
env.On("Home").Return("/usr/home")
|
||||
params := &mockedLanguageParams{
|
||||
cmd: "cds",
|
||||
versionParam: "--version",
|
||||
versionOutput: tc.Version,
|
||||
extension: ".cdsrc.json",
|
||||
}
|
||||
env, props := getMockedLanguageEnv(params)
|
||||
|
||||
if tc.PackageJSON != "" {
|
||||
if len(tc.DisplayMode) == 0 {
|
||||
tc.DisplayMode = DisplayModeContext
|
||||
}
|
||||
props[DisplayMode] = tc.DisplayMode
|
||||
|
||||
if len(tc.PackageJSON) != 0 {
|
||||
env.On("HasFiles", "package.json").Return(true)
|
||||
env.On("FileContent", "package.json").Return(tc.PackageJSON)
|
||||
} else {
|
||||
|
@ -111,37 +80,14 @@ func TestCdsSegment(t *testing.T) {
|
|||
}
|
||||
|
||||
cds := &Cds{}
|
||||
|
||||
props := properties.Map{
|
||||
"display_mode": tc.DisplayMode,
|
||||
}
|
||||
|
||||
env.On("TemplateCache").Return(&platform.TemplateCache{
|
||||
Env: make(map[string]string),
|
||||
})
|
||||
cds.Init(props, env)
|
||||
|
||||
if tc.Template == "" {
|
||||
tc.Template = cds.Template()
|
||||
}
|
||||
|
||||
if tc.DisplayMode == "" {
|
||||
tc.DisplayMode = DisplayModeContext
|
||||
}
|
||||
|
||||
cds.Init(props, env)
|
||||
|
||||
for _, f := range cds.language.extensions {
|
||||
match, err := filepath.Match(f, tc.File)
|
||||
|
||||
if err != nil {
|
||||
t.Fail()
|
||||
}
|
||||
|
||||
env.On("HasFiles", f).Return(match)
|
||||
}
|
||||
|
||||
failMsg := fmt.Sprintf("Failed in case: %s", tc.Case)
|
||||
assert.Equal(t, tc.ExpectedEnabled, cds.Enabled(), failMsg)
|
||||
assert.True(t, cds.Enabled(), failMsg)
|
||||
assert.Equal(t, tc.ExpectedString, renderTemplate(env, tc.Template, cds), failMsg)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,102 +2,64 @@ package segments
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/mock"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/platform"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/properties"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
mock2 "github.com/stretchr/testify/mock"
|
||||
)
|
||||
|
||||
func TestCFSegment(t *testing.T) {
|
||||
cases := []struct {
|
||||
Case string
|
||||
Template string
|
||||
ExpectedString string
|
||||
ExpectedEnabled bool
|
||||
CfYamlFile string
|
||||
Version string
|
||||
DisplayMode string
|
||||
Case string
|
||||
Template string
|
||||
ExpectedString string
|
||||
CfYamlFile string
|
||||
Version string
|
||||
DisplayMode string
|
||||
}{
|
||||
{
|
||||
Case: "1) cf 2.12.1 - file manifest.yml",
|
||||
ExpectedString: "2.12.1",
|
||||
ExpectedEnabled: true,
|
||||
CfYamlFile: "manifest.yml",
|
||||
Version: `cf.exe version 2.12.1+645c3ce6a.2021-08-16`,
|
||||
DisplayMode: DisplayModeFiles,
|
||||
Case: "1) cf 2.12.1 - file manifest.yml",
|
||||
ExpectedString: "2.12.1",
|
||||
CfYamlFile: "manifest.yml",
|
||||
Version: `cf.exe version 2.12.1+645c3ce6a.2021-08-16`,
|
||||
DisplayMode: DisplayModeFiles,
|
||||
},
|
||||
{
|
||||
Case: "2) cf 11.0.0-rc1 - file mta.yaml",
|
||||
Template: "{{ .Major }}",
|
||||
ExpectedString: "11",
|
||||
ExpectedEnabled: true,
|
||||
CfYamlFile: "mta.yaml",
|
||||
Version: `cf version 11.0.0-rc1`,
|
||||
DisplayMode: DisplayModeFiles,
|
||||
Case: "2) cf 11.0.0-rc1 - file mta.yaml",
|
||||
Template: "{{ .Major }}",
|
||||
ExpectedString: "11",
|
||||
CfYamlFile: "mta.yaml",
|
||||
Version: `cf version 11.0.0-rc1`,
|
||||
DisplayMode: DisplayModeFiles,
|
||||
},
|
||||
{
|
||||
Case: "3) cf 11.0.0-rc1 - no file",
|
||||
Template: "{{ .Major }}",
|
||||
ExpectedString: "",
|
||||
ExpectedEnabled: false,
|
||||
Version: `cf version 11.0.0-rc1`,
|
||||
DisplayMode: DisplayModeFiles,
|
||||
},
|
||||
{
|
||||
Case: "4) cf 11.1.0-rc1 - mode always",
|
||||
Template: "{{ .Major }}.{{ .Minor }}",
|
||||
ExpectedString: "11.1",
|
||||
ExpectedEnabled: true,
|
||||
Version: `cf.exe version 11.1.0-rc1`,
|
||||
DisplayMode: DisplayModeAlways,
|
||||
Case: "4) cf 11.1.0-rc1 - mode always",
|
||||
Template: "{{ .Major }}.{{ .Minor }}",
|
||||
ExpectedString: "11.1",
|
||||
Version: `cf.exe version 11.1.0-rc1`,
|
||||
DisplayMode: DisplayModeAlways,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
var env = new(mock.MockedEnvironment)
|
||||
env.On("HasCommand", "cf").Return(true)
|
||||
env.On("RunCommand", "cf", []string{"version"}).Return(tc.Version, nil)
|
||||
env.On("Pwd").Return("/usr/home/dev/my-app")
|
||||
env.On("Home").Return("/usr/home")
|
||||
env.On("DebugF", mock2.Anything, mock2.Anything).Return(nil)
|
||||
params := &mockedLanguageParams{
|
||||
cmd: "cf",
|
||||
versionParam: "version",
|
||||
versionOutput: tc.Version,
|
||||
extension: "manifest.yml",
|
||||
}
|
||||
env, props := getMockedLanguageEnv(params)
|
||||
|
||||
env.On("TemplateCache").Return(&platform.TemplateCache{
|
||||
Env: make(map[string]string),
|
||||
})
|
||||
props[DisplayMode] = tc.DisplayMode
|
||||
|
||||
cf := &Cf{}
|
||||
|
||||
props := properties.Map{
|
||||
DisplayMode: tc.DisplayMode,
|
||||
}
|
||||
cf.Init(props, env)
|
||||
|
||||
if tc.Template == "" {
|
||||
tc.Template = cf.Template()
|
||||
}
|
||||
|
||||
cf.Init(props, env)
|
||||
|
||||
for _, f := range cf.language.extensions {
|
||||
match, err := filepath.Match(f, tc.CfYamlFile)
|
||||
|
||||
if err != nil {
|
||||
t.Fail()
|
||||
}
|
||||
|
||||
if match {
|
||||
env.On("HasFiles", f).Return(true)
|
||||
} else {
|
||||
env.On("HasFiles", f).Return(false)
|
||||
}
|
||||
}
|
||||
|
||||
failMsg := fmt.Sprintf("Failed in case: %s", tc.Case)
|
||||
assert.Equal(t, tc.ExpectedEnabled, cf.Enabled(), failMsg)
|
||||
assert.True(t, cf.Enabled(), failMsg)
|
||||
assert.Equal(t, tc.ExpectedString, renderTemplate(env, tc.Template, cf), failMsg)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,52 +4,40 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/constants"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/mock"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/platform"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/properties"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
mock2 "github.com/stretchr/testify/mock"
|
||||
)
|
||||
|
||||
func TestDotnetSegment(t *testing.T) {
|
||||
cases := []struct {
|
||||
Case string
|
||||
Expected string
|
||||
ExitCode int
|
||||
HasCommand bool
|
||||
Version string
|
||||
FetchVersion bool
|
||||
Case string
|
||||
Expected string
|
||||
ExitCode int
|
||||
Version string
|
||||
}{
|
||||
{Case: "Unsupported version", Expected: "\uf071", HasCommand: true, FetchVersion: true, ExitCode: constants.DotnetExitCode, Version: "3.1.402"},
|
||||
{Case: "Regular version", Expected: "3.1.402", HasCommand: true, FetchVersion: true, Version: "3.1.402"},
|
||||
{Case: "Regular version", Expected: "", HasCommand: true, FetchVersion: false, Version: "3.1.402"},
|
||||
{Case: "Regular version", Expected: "", HasCommand: false, FetchVersion: false, Version: "3.1.402"},
|
||||
{Case: "Unsupported version", Expected: "\uf071", ExitCode: constants.DotnetExitCode, Version: "3.1.402"},
|
||||
{Case: "Regular version", Expected: "3.1.402", Version: "3.1.402"},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
env := new(mock.MockedEnvironment)
|
||||
env.On("HasCommand", "dotnet").Return(tc.HasCommand)
|
||||
params := &mockedLanguageParams{
|
||||
cmd: "dotnet",
|
||||
versionParam: "--version",
|
||||
versionOutput: tc.Version,
|
||||
extension: "*.cs",
|
||||
}
|
||||
env, props := getMockedLanguageEnv(params)
|
||||
|
||||
if tc.ExitCode != 0 {
|
||||
env.Unset("RunCommand")
|
||||
err := &platform.CommandError{ExitCode: tc.ExitCode}
|
||||
env.On("RunCommand", "dotnet", []string{"--version"}).Return("", err)
|
||||
} else {
|
||||
env.On("RunCommand", "dotnet", []string{"--version"}).Return(tc.Version, nil)
|
||||
}
|
||||
|
||||
env.On("HasFiles", "*.cs").Return(true)
|
||||
env.On("PathSeparator").Return("")
|
||||
env.On("Pwd").Return("/usr/home/project")
|
||||
env.On("Home").Return("/usr/home")
|
||||
env.On("DebugF", mock2.Anything, mock2.Anything).Return(nil)
|
||||
env.On("TemplateCache").Return(&platform.TemplateCache{
|
||||
Env: make(map[string]string),
|
||||
})
|
||||
props := properties.Map{
|
||||
properties.FetchVersion: tc.FetchVersion,
|
||||
}
|
||||
dotnet := &Dotnet{}
|
||||
dotnet.Init(props, env)
|
||||
|
||||
assert.True(t, dotnet.Enabled())
|
||||
assert.Equal(t, tc.Expected, renderTemplate(env, dotnet.Template(), dotnet), tc.Case)
|
||||
}
|
||||
|
|
|
@ -6,38 +6,11 @@ import (
|
|||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/mock"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/platform"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/properties"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
mock2 "github.com/stretchr/testify/mock"
|
||||
)
|
||||
|
||||
type mockedLanguageParams struct {
|
||||
cmd string
|
||||
versionParam string
|
||||
versionOutput string
|
||||
extension string
|
||||
}
|
||||
|
||||
func getMockedLanguageEnv(params *mockedLanguageParams) (*mock.MockedEnvironment, properties.Map) {
|
||||
env := new(mock.MockedEnvironment)
|
||||
env.On("HasCommand", params.cmd).Return(true)
|
||||
env.On("RunCommand", params.cmd, []string{params.versionParam}).Return(params.versionOutput, nil)
|
||||
env.On("HasFiles", params.extension).Return(true)
|
||||
env.On("Pwd").Return("/usr/home/project")
|
||||
env.On("Home").Return("/usr/home")
|
||||
env.On("TemplateCache").Return(&platform.TemplateCache{
|
||||
Env: make(map[string]string),
|
||||
})
|
||||
env.On("DebugF", mock2.Anything, mock2.Anything).Return(nil)
|
||||
props := properties.Map{
|
||||
properties.FetchVersion: true,
|
||||
}
|
||||
return env, props
|
||||
}
|
||||
|
||||
func TestGolang(t *testing.T) {
|
||||
cases := []struct {
|
||||
Case string
|
||||
|
|
|
@ -5,12 +5,9 @@ import (
|
|||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/mock"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/platform"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/properties"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
mock2 "github.com/stretchr/testify/mock"
|
||||
)
|
||||
|
||||
func TestHaskell(t *testing.T) {
|
||||
|
@ -57,36 +54,32 @@ func TestHaskell(t *testing.T) {
|
|||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
env := new(mock.MockedEnvironment)
|
||||
params := &mockedLanguageParams{
|
||||
cmd: "ghc",
|
||||
versionParam: "--numeric-version",
|
||||
versionOutput: tc.GhcVersion,
|
||||
extension: "*.hs",
|
||||
}
|
||||
env, props := getMockedLanguageEnv(params)
|
||||
|
||||
if tc.StackGhcMode == "always" || (tc.StackGhcMode == "package" && tc.InStackPackage) {
|
||||
env.On("HasCommand", "stack").Return(true)
|
||||
env.On("RunCommand", "stack", []string{"ghc", "--", "--numeric-version"}).Return(tc.StackGhcVersion, nil)
|
||||
} else {
|
||||
env.On("HasCommand", "ghc").Return(true)
|
||||
env.On("RunCommand", "ghc", []string{"--numeric-version"}).Return(tc.GhcVersion, nil)
|
||||
}
|
||||
|
||||
fileInfo := &platform.FileInfo{
|
||||
Path: "../stack.yaml",
|
||||
ParentFolder: "./",
|
||||
IsDir: false,
|
||||
}
|
||||
|
||||
if tc.InStackPackage {
|
||||
var err error
|
||||
env.On("HasParentFilePath", "stack.yaml").Return(fileInfo, err)
|
||||
} else {
|
||||
env.On("HasParentFilePath", "stack.yaml").Return(fileInfo, errors.New("no match"))
|
||||
}
|
||||
env.On("HasFiles", "*.hs").Return(true)
|
||||
env.On("Pwd").Return("/usr/home/project")
|
||||
env.On("Home").Return("/usr/home")
|
||||
env.On("DebugF", mock2.Anything, mock2.Anything).Return(nil)
|
||||
env.On("TemplateCache").Return(&platform.TemplateCache{
|
||||
Env: make(map[string]string),
|
||||
})
|
||||
|
||||
props := properties.Map{
|
||||
properties.FetchVersion: true,
|
||||
}
|
||||
props[StackGhcMode] = tc.StackGhcMode
|
||||
|
||||
h := &Haskell{}
|
||||
|
|
|
@ -4,9 +4,6 @@ import (
|
|||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/mock"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/properties"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@ -56,12 +53,14 @@ func TestJava(t *testing.T) {
|
|||
},
|
||||
}
|
||||
for _, tc := range cases {
|
||||
env := new(mock.MockedEnvironment)
|
||||
env.On("HasCommand", "java").Return(true)
|
||||
env.On("RunCommand", "java", []string{"-Xinternalversion"}).Return(tc.Version, nil)
|
||||
env.On("HasFiles", "pom.xml").Return(true)
|
||||
env.On("Pwd").Return("/usr/home/project")
|
||||
env.On("Home").Return("/usr/home")
|
||||
params := &mockedLanguageParams{
|
||||
cmd: "java",
|
||||
versionParam: "-Xinternalversion",
|
||||
versionOutput: tc.Version,
|
||||
extension: "pom.xml",
|
||||
}
|
||||
env, props := getMockedLanguageEnv(params)
|
||||
|
||||
if tc.JavaHomeEnabled {
|
||||
env.On("Getenv", "JAVA_HOME").Return("/usr/java")
|
||||
env.On("HasCommand", "/usr/java/bin/java").Return(true)
|
||||
|
@ -69,9 +68,7 @@ func TestJava(t *testing.T) {
|
|||
} else {
|
||||
env.On("Getenv", "JAVA_HOME").Return("")
|
||||
}
|
||||
props := properties.Map{
|
||||
properties.FetchVersion: true,
|
||||
}
|
||||
|
||||
j := &Java{}
|
||||
j.Init(props, env)
|
||||
assert.True(t, j.Enabled(), fmt.Sprintf("Failed in case: %s", tc.Case))
|
||||
|
|
|
@ -100,6 +100,8 @@ const (
|
|||
LanguageExtensions properties.Property = "extensions"
|
||||
// LanguageFolders the list of folders to validate
|
||||
LanguageFolders properties.Property = "folders"
|
||||
// CacheVersion allows caching the version number
|
||||
CacheVersion properties.Property = "cache_version"
|
||||
)
|
||||
|
||||
func (l *language) Enabled() bool {
|
||||
|
@ -192,14 +194,29 @@ func (l *language) hasLanguageFolders() bool {
|
|||
// setVersion parses the version string returned by the command
|
||||
func (l *language) setVersion() error {
|
||||
var lastError error
|
||||
cacheVersion := l.props.GetBool(CacheVersion, false)
|
||||
|
||||
for _, command := range l.commands {
|
||||
var versionStr string
|
||||
var err error
|
||||
|
||||
versionKey := fmt.Sprintf("%s_version", command.executable)
|
||||
versionURL := fmt.Sprintf("%s_version_url", command.executable)
|
||||
|
||||
if versionStr, OK := l.env.Cache().Get(versionKey); OK {
|
||||
version, _ := command.parse(versionStr)
|
||||
l.version = *version
|
||||
l.version.Executable = command.executable
|
||||
l.version.URL, _ = l.env.Cache().Get(versionURL)
|
||||
return nil
|
||||
}
|
||||
|
||||
if command.getVersion == nil {
|
||||
if !l.env.HasCommand(command.executable) {
|
||||
lastError = errors.New(noVersion)
|
||||
continue
|
||||
}
|
||||
|
||||
versionStr, err = l.env.RunCommand(command.executable, command.args...)
|
||||
if exitErr, ok := err.(*platform.CommandError); ok {
|
||||
l.exitCode = exitErr.ExitCode
|
||||
|
@ -213,17 +230,27 @@ func (l *language) setVersion() error {
|
|||
continue
|
||||
}
|
||||
}
|
||||
|
||||
version, err := command.parse(versionStr)
|
||||
if err != nil {
|
||||
lastError = fmt.Errorf("err parsing info from %s with %s", command.executable, versionStr)
|
||||
continue
|
||||
}
|
||||
|
||||
l.version = *version
|
||||
if command.versionURLTemplate != "" {
|
||||
l.versionURLTemplate = command.versionURLTemplate
|
||||
}
|
||||
|
||||
l.buildVersionURL()
|
||||
l.version.Executable = command.executable
|
||||
|
||||
if cacheVersion {
|
||||
timeout := l.props.GetInt(properties.CacheTimeout, 1440)
|
||||
l.env.Cache().Set(versionKey, versionStr, timeout)
|
||||
l.env.Cache().Set(versionURL, l.version.URL, timeout)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
if lastError != nil {
|
||||
|
|
|
@ -28,6 +28,7 @@ type languageArgs struct {
|
|||
properties properties.Properties
|
||||
matchesVersionFile matchesVersionFile
|
||||
inHome bool
|
||||
cachedVersion string
|
||||
}
|
||||
|
||||
func (l *languageArgs) hasvalue(value string, list []string) bool {
|
||||
|
@ -41,27 +42,38 @@ func (l *languageArgs) hasvalue(value string, list []string) bool {
|
|||
|
||||
func bootStrapLanguageTest(args *languageArgs) *language {
|
||||
env := new(mock.MockedEnvironment)
|
||||
|
||||
for _, command := range args.commands {
|
||||
env.On("HasCommand", command.executable).Return(args.hasvalue(command.executable, args.enabledCommands))
|
||||
env.On("RunCommand", command.executable, command.args).Return(args.version, args.expectedError)
|
||||
}
|
||||
|
||||
for _, extension := range args.extensions {
|
||||
env.On("HasFiles", extension).Return(args.hasvalue(extension, args.enabledExtensions))
|
||||
}
|
||||
|
||||
home := "/usr/home"
|
||||
cwd := "/usr/home/project"
|
||||
if args.inHome {
|
||||
cwd = home
|
||||
}
|
||||
|
||||
env.On("Pwd").Return(cwd)
|
||||
env.On("Home").Return(home)
|
||||
env.On("DebugF", mock2.Anything, mock2.Anything).Return(nil)
|
||||
env.On("TemplateCache").Return(&platform.TemplateCache{
|
||||
Env: make(map[string]string),
|
||||
})
|
||||
|
||||
cache := &mock.MockedCache{}
|
||||
cache.On("Get", mock2.Anything).Return(args.cachedVersion, len(args.cachedVersion) > 0)
|
||||
cache.On("Set", mock2.Anything, mock2.Anything, mock2.Anything)
|
||||
env.On("Cache").Return(cache)
|
||||
|
||||
if args.properties == nil {
|
||||
args.properties = properties.Map{}
|
||||
}
|
||||
|
||||
l := &language{
|
||||
props: args.properties,
|
||||
env: env,
|
||||
|
@ -70,6 +82,7 @@ func bootStrapLanguageTest(args *languageArgs) *language {
|
|||
versionURLTemplate: args.versionURLTemplate,
|
||||
matchesVersionFile: args.matchesVersionFile,
|
||||
}
|
||||
|
||||
return l
|
||||
}
|
||||
|
||||
|
@ -524,3 +537,58 @@ func TestLanguageHyperlinkTemplatePropertyTakesPriority(t *testing.T) {
|
|||
assert.True(t, lang.Enabled())
|
||||
assert.Equal(t, "https://custom/url/template/1.3", lang.version.URL)
|
||||
}
|
||||
|
||||
func TestLanguageEnabledCachedVersion(t *testing.T) {
|
||||
props := properties.Map{
|
||||
properties.FetchVersion: true,
|
||||
}
|
||||
args := &languageArgs{
|
||||
commands: []*cmd{
|
||||
{
|
||||
executable: "unicorn",
|
||||
args: []string{"--version"},
|
||||
regex: "(?P<version>.*)",
|
||||
},
|
||||
},
|
||||
extensions: []string{uni, corn},
|
||||
enabledExtensions: []string{uni, corn},
|
||||
enabledCommands: []string{"unicorn"},
|
||||
version: universion,
|
||||
cachedVersion: "1.3.37",
|
||||
properties: props,
|
||||
}
|
||||
lang := bootStrapLanguageTest(args)
|
||||
assert.True(t, lang.Enabled())
|
||||
assert.Equal(t, "1.3.37", lang.Full, "cached unicorn version is available")
|
||||
assert.Equal(t, "unicorn", lang.Executable, "cached version was found")
|
||||
}
|
||||
|
||||
type mockedLanguageParams struct {
|
||||
cmd string
|
||||
versionParam string
|
||||
versionOutput string
|
||||
extension string
|
||||
}
|
||||
|
||||
func getMockedLanguageEnv(params *mockedLanguageParams) (*mock.MockedEnvironment, properties.Map) {
|
||||
env := new(mock.MockedEnvironment)
|
||||
env.On("HasCommand", params.cmd).Return(true)
|
||||
env.On("RunCommand", params.cmd, []string{params.versionParam}).Return(params.versionOutput, nil)
|
||||
env.On("HasFiles", params.extension).Return(true)
|
||||
env.On("Pwd").Return("/usr/home/project")
|
||||
env.On("Home").Return("/usr/home")
|
||||
env.On("TemplateCache").Return(&platform.TemplateCache{
|
||||
Env: make(map[string]string),
|
||||
})
|
||||
env.On("DebugF", mock2.Anything, mock2.Anything).Return(nil)
|
||||
props := properties.Map{
|
||||
properties.FetchVersion: true,
|
||||
}
|
||||
|
||||
cache := &mock.MockedCache{}
|
||||
cache.On("Get", mock2.Anything).Return("", false)
|
||||
cache.On("Set", mock2.Anything, mock2.Anything, mock2.Anything)
|
||||
env.On("Cache").Return(cache)
|
||||
|
||||
return env, props
|
||||
}
|
||||
|
|
|
@ -5,12 +5,7 @@ import (
|
|||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/mock"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/platform"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/properties"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
mock2 "github.com/stretchr/testify/mock"
|
||||
)
|
||||
|
||||
func TestLua(t *testing.T) {
|
||||
|
@ -59,24 +54,27 @@ func TestLua(t *testing.T) {
|
|||
},
|
||||
}
|
||||
for _, tc := range cases {
|
||||
env := new(mock.MockedEnvironment)
|
||||
env.On("HasCommand", "lua").Return(tc.HasLua)
|
||||
env.On("RunCommand", "lua", []string{"-v"}).Return(tc.Version, nil)
|
||||
params := &mockedLanguageParams{
|
||||
cmd: "lua",
|
||||
versionParam: "-v",
|
||||
versionOutput: tc.Version,
|
||||
extension: "*.lua",
|
||||
}
|
||||
env, props := getMockedLanguageEnv(params)
|
||||
|
||||
if !tc.HasLua {
|
||||
env.Unset("HasCommand")
|
||||
env.On("HasCommand", "lua").Return(false)
|
||||
}
|
||||
|
||||
env.On("HasCommand", "luajit").Return(tc.HasLuaJit)
|
||||
env.On("RunCommand", "luajit", []string{"-v"}).Return(tc.Version, nil)
|
||||
env.On("HasFiles", "*.lua").Return(true)
|
||||
env.On("Pwd").Return("/usr/home/project")
|
||||
env.On("Home").Return("/usr/home")
|
||||
env.On("DebugF", mock2.Anything, mock2.Anything).Return(nil)
|
||||
env.On("TemplateCache").Return(&platform.TemplateCache{
|
||||
Env: make(map[string]string),
|
||||
})
|
||||
props := properties.Map{
|
||||
properties.FetchVersion: true,
|
||||
}
|
||||
|
||||
props[PreferredExecutable] = tc.Prefer
|
||||
|
||||
l := &Lua{}
|
||||
l.Init(props, env)
|
||||
|
||||
failMsg := fmt.Sprintf("Failed in case: %s", tc.Case)
|
||||
assert.True(t, l.Enabled(), failMsg)
|
||||
assert.Equal(t, tc.ExpectedString, renderTemplate(env, l.Template(), l), failMsg)
|
||||
|
|
|
@ -4,9 +4,6 @@ import (
|
|||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/mock"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/properties"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@ -30,15 +27,14 @@ func TestPerl(t *testing.T) {
|
|||
},
|
||||
}
|
||||
for _, tc := range cases {
|
||||
env := new(mock.MockedEnvironment)
|
||||
env.On("HasCommand", "perl").Return(true)
|
||||
env.On("RunCommand", "perl", []string{"-version"}).Return(tc.Version, nil)
|
||||
env.On("HasFiles", ".perl-version").Return(true)
|
||||
env.On("Pwd").Return("/usr/home/project")
|
||||
env.On("Home").Return("/usr/home")
|
||||
props := properties.Map{
|
||||
properties.FetchVersion: true,
|
||||
params := &mockedLanguageParams{
|
||||
cmd: "perl",
|
||||
versionParam: "-version",
|
||||
versionOutput: tc.Version,
|
||||
extension: ".perl-version",
|
||||
}
|
||||
env, props := getMockedLanguageEnv(params)
|
||||
|
||||
p := &Perl{}
|
||||
p.Init(props, env)
|
||||
assert.True(t, p.Enabled(), fmt.Sprintf("Failed in case: %s", tc.Case))
|
||||
|
|
|
@ -90,13 +90,17 @@ func TestPythonTemplate(t *testing.T) {
|
|||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
env := new(mock.MockedEnvironment)
|
||||
params := &mockedLanguageParams{
|
||||
cmd: "python",
|
||||
versionParam: "--version",
|
||||
versionOutput: "Python 3.8.4",
|
||||
extension: "*.py",
|
||||
}
|
||||
env, props := getMockedLanguageEnv(params)
|
||||
|
||||
env.On("GOOS").Return("")
|
||||
env.On("HasCommand", "python").Return(true)
|
||||
env.On("CommandPath", mock2.Anything).Return(tc.PythonPath)
|
||||
env.On("RunCommand", "python", []string{"--version"}).Return("Python 3.8.4", nil)
|
||||
env.On("RunCommand", "pyenv", []string{"version-name"}).Return(tc.VirtualEnvName, nil)
|
||||
env.On("HasFiles", "*.py").Return(true)
|
||||
env.On("HasFilesInDir", mock2.Anything, "pyvenv.cfg").Return(len(tc.PyvenvCfg) > 0)
|
||||
env.On("FileContent", filepath.Join(filepath.Dir(tc.PythonPath), "pyvenv.cfg")).Return(tc.PyvenvCfg)
|
||||
env.On("Getenv", "VIRTUAL_ENV").Return(tc.VirtualEnvName)
|
||||
|
@ -104,18 +108,12 @@ func TestPythonTemplate(t *testing.T) {
|
|||
env.On("Getenv", "CONDA_DEFAULT_ENV").Return(tc.VirtualEnvName)
|
||||
env.On("Getenv", "PYENV_ROOT").Return("/home/user/.pyenv")
|
||||
env.On("PathSeparator").Return("")
|
||||
env.On("Pwd").Return("/usr/home/project")
|
||||
env.On("Home").Return("/usr/home")
|
||||
env.On("ResolveSymlink", mock2.Anything).Return(tc.ResolveSymlink.Path, tc.ResolveSymlink.Err)
|
||||
env.On("DebugF", mock2.Anything, mock2.Anything).Return(nil)
|
||||
props := properties.Map{
|
||||
properties.FetchVersion: tc.FetchVersion,
|
||||
UsePythonVersionFile: true,
|
||||
DisplayMode: DisplayModeAlways,
|
||||
}
|
||||
env.On("TemplateCache").Return(&platform.TemplateCache{
|
||||
Env: make(map[string]string),
|
||||
})
|
||||
|
||||
props[properties.FetchVersion] = tc.FetchVersion
|
||||
props[UsePythonVersionFile] = true
|
||||
props[DisplayMode] = DisplayModeAlways
|
||||
|
||||
python := &Python{}
|
||||
python.Init(props, env)
|
||||
assert.Equal(t, !tc.ExpectedDisabled, python.Enabled(), tc.Case)
|
||||
|
|
|
@ -6,10 +6,7 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/alecthomas/assert"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/mock"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/platform"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/properties"
|
||||
mock2 "github.com/stretchr/testify/mock"
|
||||
)
|
||||
|
||||
func TestQuasar(t *testing.T) {
|
||||
|
@ -58,24 +55,20 @@ func TestQuasar(t *testing.T) {
|
|||
},
|
||||
}
|
||||
for _, tc := range cases {
|
||||
env := new(mock.MockedEnvironment)
|
||||
env.On("HasCommand", "quasar").Return(true)
|
||||
env.On("RunCommand", "quasar", []string{"--version"}).Return(tc.Version, nil)
|
||||
env.On("Pwd").Return("/usr/home/project")
|
||||
env.On("Home").Return("/usr/home")
|
||||
env.On("DebugF", mock2.Anything, mock2.Anything).Return(nil)
|
||||
env.On("TemplateCache").Return(&platform.TemplateCache{
|
||||
Env: make(map[string]string),
|
||||
})
|
||||
params := &mockedLanguageParams{
|
||||
cmd: "quasar",
|
||||
versionParam: "--version",
|
||||
versionOutput: tc.Version,
|
||||
extension: "quasar.config",
|
||||
}
|
||||
env, props := getMockedLanguageEnv(params)
|
||||
|
||||
env.On("HasFilesInDir", "/usr/home/project", "package-lock.json").Return(tc.HasPackageLockFile)
|
||||
fileInfo := &platform.FileInfo{ParentFolder: "/usr/home/project", IsDir: true}
|
||||
env.On("HasParentFilePath", "quasar.config").Return(fileInfo, nil)
|
||||
env.On("FileContent", filepath.Join(fileInfo.ParentFolder, "package-lock.json")).Return(packageLockFile)
|
||||
|
||||
props := properties.Map{
|
||||
properties.FetchVersion: true,
|
||||
FetchDependencies: tc.FetchDependencies,
|
||||
}
|
||||
props[FetchDependencies] = tc.FetchDependencies
|
||||
|
||||
quasar := &Quasar{}
|
||||
quasar.Init(props, env)
|
||||
|
|
|
@ -4,12 +4,7 @@ import (
|
|||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/mock"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/platform"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/properties"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
mock2 "github.com/stretchr/testify/mock"
|
||||
)
|
||||
|
||||
func TestR(t *testing.T) {
|
||||
|
@ -36,25 +31,22 @@ func TestR(t *testing.T) {
|
|||
{Case: "R.exe 4.0.0", ExpectedString: "4.0.0", HasRexe: true, Version: "R version 4.0.0 (2020-04-24) -- \"Arbor Day\""},
|
||||
}
|
||||
for _, tc := range cases {
|
||||
env := new(mock.MockedEnvironment)
|
||||
params := &mockedLanguageParams{
|
||||
cmd: "R",
|
||||
versionParam: "--version",
|
||||
versionOutput: tc.Version,
|
||||
extension: "*.R",
|
||||
}
|
||||
env, props := getMockedLanguageEnv(params)
|
||||
|
||||
env.On("HasCommand", "Rscript").Return(tc.HasRscript)
|
||||
env.On("RunCommand", "Rscript", []string{"--version"}).Return(tc.Version, nil)
|
||||
env.On("HasCommand", "R").Return(tc.HasR)
|
||||
env.On("RunCommand", "R", []string{"--version"}).Return(tc.Version, nil)
|
||||
env.On("HasCommand", "R.exe").Return(tc.HasRexe)
|
||||
env.On("RunCommand", "R.exe", []string{"--version"}).Return(tc.Version, nil)
|
||||
env.On("HasFiles", "*.R").Return(true)
|
||||
env.On("Pwd").Return("/usr/home/project")
|
||||
env.On("Home").Return("/usr/home")
|
||||
env.On("DebugF", mock2.Anything, mock2.Anything).Return(nil)
|
||||
env.On("TemplateCache").Return(&platform.TemplateCache{
|
||||
Env: make(map[string]string),
|
||||
})
|
||||
props := properties.Map{
|
||||
properties.FetchVersion: true,
|
||||
}
|
||||
|
||||
r := &R{}
|
||||
r.Init(props, env)
|
||||
|
||||
assert.True(t, r.Enabled(), fmt.Sprintf("Failed in case: %s", tc.Case))
|
||||
assert.Equal(t, tc.ExpectedString, renderTemplate(env, r.Template(), r), fmt.Sprintf("Failed in case: %s", tc.Case))
|
||||
}
|
||||
|
|
|
@ -4,7 +4,6 @@ import (
|
|||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/mock"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/properties"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
@ -12,80 +11,79 @@ import (
|
|||
|
||||
func TestRuby(t *testing.T) {
|
||||
cases := []struct {
|
||||
Case string
|
||||
ExpectedString string
|
||||
ExpectedEnabled bool
|
||||
HasRbenv bool
|
||||
HasRvmprompt bool
|
||||
HasChruby bool
|
||||
HasAsdf bool
|
||||
HasRuby bool
|
||||
Version string
|
||||
HasRubyFiles bool
|
||||
HasRakeFile bool
|
||||
HasGemFile bool
|
||||
FetchVersion bool
|
||||
Case string
|
||||
ExpectedString string
|
||||
HasRbenv bool
|
||||
HasRvmprompt bool
|
||||
HasChruby bool
|
||||
HasAsdf bool
|
||||
HasRuby bool
|
||||
Version string
|
||||
HasRubyFiles bool
|
||||
HasRakeFile bool
|
||||
HasGemFile bool
|
||||
FetchVersion bool
|
||||
}{
|
||||
{Case: "No files", ExpectedString: "", ExpectedEnabled: false},
|
||||
{Case: "Ruby files", ExpectedString: "", ExpectedEnabled: true, FetchVersion: false, HasRubyFiles: true},
|
||||
{Case: "Rakefile", ExpectedString: "", ExpectedEnabled: true, FetchVersion: false, HasRakeFile: true},
|
||||
{Case: "Gemfile", ExpectedString: "", ExpectedEnabled: true, FetchVersion: false, HasGemFile: true},
|
||||
{Case: "Gemfile with version", ExpectedString: noVersion, ExpectedEnabled: true, FetchVersion: true, HasGemFile: true},
|
||||
{Case: "No files with version", ExpectedString: "", ExpectedEnabled: false, FetchVersion: true},
|
||||
{Case: "Ruby files", ExpectedString: "", FetchVersion: false, HasRubyFiles: true},
|
||||
{Case: "Rakefile", ExpectedString: "", FetchVersion: false, HasRakeFile: true},
|
||||
{Case: "Gemfile", ExpectedString: "", FetchVersion: false, HasGemFile: true},
|
||||
{Case: "Gemfile with version", ExpectedString: "err parsing info from ruby with", FetchVersion: true, HasGemFile: true},
|
||||
{
|
||||
Case: "Version with chruby",
|
||||
ExpectedString: "ruby-2.6.3",
|
||||
ExpectedEnabled: true,
|
||||
FetchVersion: true,
|
||||
HasRubyFiles: true,
|
||||
HasChruby: true,
|
||||
Case: "Version with chruby",
|
||||
ExpectedString: "ruby-2.6.3",
|
||||
FetchVersion: true,
|
||||
HasRubyFiles: true,
|
||||
HasChruby: true,
|
||||
Version: ` * ruby-2.6.3
|
||||
ruby-1.9.3-p392
|
||||
jruby-1.7.0
|
||||
rubinius-2.0.0-rc1`,
|
||||
},
|
||||
{
|
||||
Case: "Version with chruby line 2",
|
||||
ExpectedString: "ruby-1.9.3-p392",
|
||||
ExpectedEnabled: true,
|
||||
FetchVersion: true,
|
||||
HasRubyFiles: true,
|
||||
HasChruby: true,
|
||||
Case: "Version with chruby line 2",
|
||||
ExpectedString: "ruby-1.9.3-p392",
|
||||
FetchVersion: true,
|
||||
HasRubyFiles: true,
|
||||
HasChruby: true,
|
||||
Version: ` ruby-2.6.3
|
||||
* ruby-1.9.3-p392
|
||||
jruby-1.7.0
|
||||
rubinius-2.0.0-rc1`,
|
||||
},
|
||||
{
|
||||
Case: "Version with asdf",
|
||||
ExpectedString: "2.6.3",
|
||||
ExpectedEnabled: true,
|
||||
FetchVersion: true,
|
||||
HasRubyFiles: true,
|
||||
HasAsdf: true,
|
||||
Version: "ruby 2.6.3 /Users/jan/Projects/oh-my-posh/.tool-versions",
|
||||
Case: "Version with asdf",
|
||||
ExpectedString: "2.6.3",
|
||||
FetchVersion: true,
|
||||
HasRubyFiles: true,
|
||||
HasAsdf: true,
|
||||
Version: "ruby 2.6.3 /Users/jan/Projects/oh-my-posh/.tool-versions",
|
||||
},
|
||||
{
|
||||
Case: "Version with asdf not set",
|
||||
ExpectedString: "",
|
||||
ExpectedEnabled: true,
|
||||
FetchVersion: true,
|
||||
HasRubyFiles: true,
|
||||
HasAsdf: true,
|
||||
Version: "ruby ______ No version set. Run \"asdf <global|shell|local> ruby <version>\"",
|
||||
Case: "Version with asdf not set",
|
||||
ExpectedString: "",
|
||||
FetchVersion: true,
|
||||
HasRubyFiles: true,
|
||||
HasAsdf: true,
|
||||
Version: "ruby ______ No version set. Run \"asdf <global|shell|local> ruby <version>\"",
|
||||
},
|
||||
{
|
||||
Case: "Version with ruby",
|
||||
ExpectedString: "2.6.3",
|
||||
ExpectedEnabled: true,
|
||||
FetchVersion: true,
|
||||
HasRubyFiles: true,
|
||||
HasRuby: true,
|
||||
Version: "ruby 2.6.3 (2019-04-16 revision 67580) [universal.x86_64-darwin20]",
|
||||
Case: "Version with ruby",
|
||||
ExpectedString: "2.6.3",
|
||||
FetchVersion: true,
|
||||
HasRubyFiles: true,
|
||||
HasRuby: true,
|
||||
Version: "ruby 2.6.3 (2019-04-16 revision 67580) [universal.x86_64-darwin20]",
|
||||
},
|
||||
}
|
||||
for _, tc := range cases {
|
||||
env := new(mock.MockedEnvironment)
|
||||
params := &mockedLanguageParams{
|
||||
cmd: "ruby",
|
||||
versionParam: "--version",
|
||||
versionOutput: tc.Version,
|
||||
extension: "*.rb",
|
||||
}
|
||||
env, props := getMockedLanguageEnv(params)
|
||||
|
||||
env.On("HasCommand", "rbenv").Return(tc.HasRbenv)
|
||||
env.On("RunCommand", "rbenv", []string{"version-name"}).Return(tc.Version, nil)
|
||||
env.On("HasCommand", "rvm-prompt").Return(tc.HasRvmprompt)
|
||||
|
@ -94,19 +92,15 @@ func TestRuby(t *testing.T) {
|
|||
env.On("RunCommand", "chruby", []string(nil)).Return(tc.Version, nil)
|
||||
env.On("HasCommand", "asdf").Return(tc.HasAsdf)
|
||||
env.On("RunCommand", "asdf", []string{"current", "ruby"}).Return(tc.Version, nil)
|
||||
env.On("HasCommand", "ruby").Return(tc.HasRuby)
|
||||
env.On("RunCommand", "ruby", []string{"--version"}).Return(tc.Version, nil)
|
||||
env.On("HasFiles", "*.rb").Return(tc.HasRubyFiles)
|
||||
env.On("HasFiles", "Rakefile").Return(tc.HasRakeFile)
|
||||
env.On("HasFiles", "Gemfile").Return(tc.HasGemFile)
|
||||
env.On("Pwd").Return("/usr/home/project")
|
||||
env.On("Home").Return("/usr/home")
|
||||
props := properties.Map{
|
||||
properties.FetchVersion: tc.FetchVersion,
|
||||
}
|
||||
|
||||
props[properties.FetchVersion] = tc.FetchVersion
|
||||
|
||||
ruby := &Ruby{}
|
||||
ruby.Init(props, env)
|
||||
assert.Equal(t, tc.ExpectedEnabled, ruby.Enabled(), fmt.Sprintf("Failed in case: %s", tc.Case))
|
||||
|
||||
assert.True(t, ruby.Enabled(), fmt.Sprintf("Failed in case: %s", tc.Case))
|
||||
assert.Equal(t, tc.ExpectedString, renderTemplate(env, ruby.Template(), ruby), fmt.Sprintf("Failed in case: %s", tc.Case))
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,11 +6,8 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/mock"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/platform"
|
||||
"github.com/jandedobbeleer/oh-my-posh/src/properties"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
mock2 "github.com/stretchr/testify/mock"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -21,7 +18,6 @@ type testCase struct {
|
|||
Case string
|
||||
Template string
|
||||
ExpectedString string
|
||||
ExpectedEnabled bool
|
||||
UI5YamlFilename string
|
||||
WorkingDir string
|
||||
Version string
|
||||
|
@ -33,7 +29,6 @@ func TestUI5Tooling(t *testing.T) {
|
|||
{
|
||||
Case: "1) ui5tooling 2.12.1 - file ui5.yaml present in cwd; DisplayMode = files",
|
||||
ExpectedString: "2.12.1",
|
||||
ExpectedEnabled: true,
|
||||
UI5YamlFilename: "ui5.yaml",
|
||||
Version: `2.12.1 (from C:\somewhere\cli\bin\ui5.js)`,
|
||||
DisplayMode: DisplayModeFiles,
|
||||
|
@ -41,7 +36,6 @@ func TestUI5Tooling(t *testing.T) {
|
|||
{
|
||||
Case: "2) ui5tooling 2.12.2 - file ui5.yaml present in cwd; default display mode (context)",
|
||||
ExpectedString: "2.12.2",
|
||||
ExpectedEnabled: true,
|
||||
UI5YamlFilename: "ui5.yaml",
|
||||
Version: `2.12.2 (from C:\somewhere\cli\bin\ui5.js)`,
|
||||
},
|
||||
|
@ -49,98 +43,59 @@ func TestUI5Tooling(t *testing.T) {
|
|||
Case: "3) ui5tooling 2.12.3 - file ui5.yaml present; cwd is sub dir, default display mode (context)",
|
||||
ExpectedString: "2.12.3",
|
||||
WorkingDir: WorkingDirRoot + "/subdir",
|
||||
ExpectedEnabled: true,
|
||||
UI5YamlFilename: "ui5.yaml",
|
||||
Version: `2.12.3 (from C:\somewhere\cli\bin\ui5.js)`,
|
||||
},
|
||||
{
|
||||
Case: "4) no ui5tooling segment - file ui5.yaml present, cwd is sub dir; display mode = files",
|
||||
ExpectedString: "",
|
||||
WorkingDir: WorkingDirRoot + "/subdir",
|
||||
ExpectedEnabled: false,
|
||||
UI5YamlFilename: "ui5.yaml",
|
||||
DisplayMode: DisplayModeFiles,
|
||||
Version: `2.12.1 (from C:\somewhere\cli\bin\ui5.js)`,
|
||||
},
|
||||
{
|
||||
Case: "5) ui5tooling 2.12.4 - file ui5-dist.yml present in cwd",
|
||||
ExpectedString: "2.12.4",
|
||||
ExpectedEnabled: true,
|
||||
UI5YamlFilename: "ui5-dist.yml",
|
||||
Version: `2.12.4 (from C:\somewhere\cli\bin\ui5.js)`,
|
||||
DisplayMode: DisplayModeFiles,
|
||||
},
|
||||
{
|
||||
Case: "6) no ui5tooling segment - file ui5.yaml not present, display mode = files",
|
||||
ExpectedString: "",
|
||||
ExpectedEnabled: false,
|
||||
Version: `2.12.1 (from C:\somewhere\cli\bin\ui5.js)`,
|
||||
DisplayMode: DisplayModeFiles,
|
||||
},
|
||||
{
|
||||
Case: "7) no ui5tooling segment - file ui5.yaml not present, default display mode (context)",
|
||||
ExpectedString: "",
|
||||
ExpectedEnabled: false,
|
||||
Version: `2.12.1 (from C:\somewhere\cli\bin\ui5.js)`,
|
||||
},
|
||||
{
|
||||
Case: "8) ui5tooling 11.0.0-rc1, no ui5.yaml file but display mode = always",
|
||||
Template: "{{ .Major }}",
|
||||
ExpectedString: "11",
|
||||
ExpectedEnabled: true,
|
||||
Version: `11.0.0-rc1 (from C:\somewhere\cli\bin\ui5.js)`,
|
||||
DisplayMode: DisplayModeAlways,
|
||||
Case: "8) ui5tooling 11.0.0-rc1, no ui5.yaml file but display mode = always",
|
||||
Template: "{{ .Major }}",
|
||||
ExpectedString: "11",
|
||||
Version: `11.0.0-rc1 (from C:\somewhere\cli\bin\ui5.js)`,
|
||||
DisplayMode: DisplayModeAlways,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
env := prepareMockedEnvironment(&tc)
|
||||
ui5tooling := &UI5Tooling{}
|
||||
|
||||
if tc.WorkingDir == "" {
|
||||
tc.WorkingDir = WorkingDirRoot
|
||||
params := &mockedLanguageParams{
|
||||
cmd: "ui5",
|
||||
versionParam: "--version",
|
||||
versionOutput: tc.Version,
|
||||
extension: UI5ToolingYamlPattern,
|
||||
}
|
||||
env, props := getMockedLanguageEnv(params)
|
||||
|
||||
if tc.DisplayMode == "" {
|
||||
if len(tc.DisplayMode) == 0 {
|
||||
tc.DisplayMode = DisplayModeContext
|
||||
}
|
||||
|
||||
if tc.Template == "" {
|
||||
tc.Template = ui5tooling.Template()
|
||||
}
|
||||
|
||||
props := properties.Map{
|
||||
DisplayMode: tc.DisplayMode,
|
||||
}
|
||||
props[DisplayMode] = tc.DisplayMode
|
||||
|
||||
ui5tooling := &UI5Tooling{}
|
||||
ui5tooling.Init(props, env)
|
||||
|
||||
err := mockFilePresence(&tc, ui5tooling, env)
|
||||
|
||||
if err != nil {
|
||||
t.Fail()
|
||||
}
|
||||
|
||||
if len(tc.Template) == 0 {
|
||||
tc.Template = ui5tooling.Template()
|
||||
}
|
||||
|
||||
failMsg := fmt.Sprintf("Failed in case: %s", tc.Case)
|
||||
assert.Equal(t, tc.ExpectedEnabled, ui5tooling.Enabled(), failMsg)
|
||||
assert.True(t, ui5tooling.Enabled(), failMsg)
|
||||
assert.Equal(t, tc.ExpectedString, renderTemplate(env, tc.Template, ui5tooling), failMsg)
|
||||
}
|
||||
}
|
||||
|
||||
func prepareMockedEnvironment(tc *testCase) *mock.MockedEnvironment {
|
||||
var env = new(mock.MockedEnvironment)
|
||||
env.On("HasCommand", "ui5").Return(true)
|
||||
env.On("RunCommand", "ui5", []string{"--version"}).Return(tc.Version, nil)
|
||||
env.On("Home").Return("/home/user")
|
||||
env.On("Pwd").Return(WorkingDirRoot)
|
||||
env.On("DebugF", mock2.Anything, mock2.Anything).Return(nil)
|
||||
|
||||
env.On("TemplateCache").Return(&platform.TemplateCache{
|
||||
Env: make(map[string]string),
|
||||
})
|
||||
|
||||
return env
|
||||
}
|
||||
|
||||
func mockFilePresence(tc *testCase, ui5tooling *UI5Tooling, env *mock.MockedEnvironment) error {
|
||||
for _, f := range ui5tooling.language.extensions {
|
||||
match, err := filepath.Match(f, tc.UI5YamlFilename)
|
||||
|
|
|
@ -10,25 +10,30 @@ Display the currently active [Angular CLI][angular-cli-docs] version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "angular",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#000000",
|
||||
"background": "#1976d2",
|
||||
"template": " \uE753 {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "angular",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#000000",
|
||||
background: "#1976d2",
|
||||
template: " \uE753 {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the active version or not; useful if all you need is an icon indicating `ng` |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `angular.json` file is present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the active version or not; useful if all you need is an icon indicating `ng` |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `angular.json` file is present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,29 +10,34 @@ Display the currently active [Azure Functions CLI][az-func-core-tools] version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "azfunc",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#ffffff",
|
||||
"background": "#FEAC19",
|
||||
"template": " \uf0e7 {{ .Full }} ",
|
||||
"properties": {
|
||||
"fetch_version": true,
|
||||
"display_mode": "files"
|
||||
}
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "azfunc",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#ffffff",
|
||||
background: "#FEAC19",
|
||||
template: " \uf0e7 {{ .Full }} ",
|
||||
properties: {
|
||||
fetch_version: true,
|
||||
display_mode: "files",
|
||||
},
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the Azure Functions CLI version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when a `host.json` or `local.settings.json` files is present (**default**)</li></ul> |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the Azure Functions CLI version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when a `host.json` or `local.settings.json` files is present (**default**)</li></ul> |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -12,24 +12,29 @@ Display the currently active [Bazel][bazel-github] version.
|
|||
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "bazel",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#ffffff",
|
||||
"background": "#43a047",
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "bazel",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#ffffff",
|
||||
background: "#43a047",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the Bazel version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.bazel`, `*.bzl`, `.bazelrc`, `.bazelversion`, `BUILD` or `WORKSPACE` files or any of Bazel's output folders are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info documentation |
|
||||
| `icon` | `string` | the icon for the segment - defaults to `"\ue63a"` |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the Bazel version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.bazel`, `*.bzl`, `.bazelrc`, `.bazelversion`, `BUILD` or `WORKSPACE` files or any of Bazel's output folders are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info documentation |
|
||||
| `icon` | `string` | the icon for the segment - defaults to `"\ue63a"` |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,23 +10,28 @@ Display the currently active [Buf CLI][buf-docs] version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "buf",
|
||||
"style": "plain",
|
||||
"foreground": "#1000D6",
|
||||
"template": " 🐃 {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "buf",
|
||||
style: "plain",
|
||||
foreground: "#1000D6",
|
||||
template: " 🐃 {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the active version or not; useful if all you need is an icon indicating `buf` |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `buf.yaml`, `buf.gen.yaml` or `buf.work.yaml` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the active version or not; useful if all you need is an icon indicating `buf` |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `buf.yaml`, `buf.gen.yaml` or `buf.work.yaml` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,25 +10,30 @@ Display the active [CDS CLI][sap-cap-cds] version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"background": "#a7cae1",
|
||||
"foreground": "#100e23",
|
||||
"powerline_symbol": "\ue0b0",
|
||||
"template": " \ue311 cds {{ .Full }} ",
|
||||
"style": "powerline",
|
||||
"type": "cds"
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
background: "#a7cae1",
|
||||
foreground: "#100e23",
|
||||
powerline_symbol: "\ue0b0",
|
||||
template: " \ue311 cds {{ .Full }} ",
|
||||
style: "powerline",
|
||||
type: "cds",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the CDS version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the cds command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is displayed when `.cdsrc.json`, `.cdsrc-private` or `*.cds` file is present</li><li>`context`: the segment is displayed when conditions from `files` mode are fulfilled or `package.json` file is present and `@sap/cds` is in `dependencies` section (**default**)</li></ul> |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the CDS version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the cds command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is displayed when `.cdsrc.json`, `.cdsrc-private` or `*.cds` file is present</li><li>`context`: the segment is displayed when conditions from `files` mode are fulfilled or `package.json` file is present and `@sap/cds` is in `dependencies` section (**default**)</li></ul> |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,26 +10,31 @@ Display the active [Cloud Foundry CLI][cloud-foundry] version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"background": "#a7cae1",
|
||||
"foreground": "#100e23",
|
||||
"powerline_symbol": "\ue0b0",
|
||||
"template": " \uf40a cf {{ .Full }} ",
|
||||
"style": "powerline",
|
||||
"type": "cf"
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
background: "#a7cae1",
|
||||
foreground: "#100e23",
|
||||
powerline_symbol: "\ue0b0",
|
||||
template: " \uf40a cf {{ .Full }} ",
|
||||
style: "powerline",
|
||||
type: "cf",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the Cloud Foundry CLI version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the java command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is displayed when `manifest.yml` or `mta.yaml` file is present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the Cloud Foundry CLI version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the java command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is displayed when `manifest.yml` or `mta.yaml` file is present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,26 +10,31 @@ Display the currently active [Cmake][cmake-github] version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "cmake",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#E8EAEE",
|
||||
"background": "#1E9748",
|
||||
"template": " \ue61e \ue61d cmake {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "cmake",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#E8EAEE",
|
||||
background: "#1E9748",
|
||||
template: " \ue61e \ue61d cmake {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the cmake version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.cmake` or `CMakeLists.txt` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the cmake version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.cmake` or `CMakeLists.txt` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,26 +10,31 @@ Display the currently active crystal version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "crystal",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#ffffff",
|
||||
"background": "#4063D8",
|
||||
"template": " \uE370 {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "crystal",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#ffffff",
|
||||
background: "#4063D8",
|
||||
template: " \uE370 {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the julia version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.cr` or `shard.yml` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the julia version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.cr` or `shard.yml` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,26 +10,31 @@ Display the currently active dart version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "dart",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#ffffff",
|
||||
"background": "#06A4CE",
|
||||
"template": " \uE798 {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "dart",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#ffffff",
|
||||
background: "#06A4CE",
|
||||
template: " \uE798 {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the dart version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.dart`, `pubspec.yaml`, `pubspec.yml`, `pubspec.lock` files or the `.dart_tool` folder are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the dart version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.dart`, `pubspec.yaml`, `pubspec.yml`, `pubspec.lock` files or the `.dart_tool` folder are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,23 +10,28 @@ Display the currently active [Deno CLI][deno-docs] version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "deno",
|
||||
"style": "plain",
|
||||
"foreground": "#3C82F6",
|
||||
"template": " \ue628 {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "deno",
|
||||
style: "plain",
|
||||
foreground: "#3C82F6",
|
||||
template: " \ue628 {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the active version or not; useful if all you need is an icon indicating `deno` |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.ts*`, `*.js` or `deno.json` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the active version or not; useful if all you need is an icon indicating `deno` |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.ts*`, `*.js` or `deno.json` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,26 +10,31 @@ Display the currently active elixir version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "elixir",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#ffffff",
|
||||
"background": "#422251",
|
||||
"template": " \ue62d {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "elixir",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#ffffff",
|
||||
background: "#422251",
|
||||
template: " \ue62d {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the elixir version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.ex` or `*.exs` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the elixir version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.ex` or `*.exs` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,26 +10,31 @@ Display the currently active flutter version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "flutter",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#ffffff",
|
||||
"background": "#06A4CE",
|
||||
"template": " \ue28e {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "flutter",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#ffffff",
|
||||
background: "#06A4CE",
|
||||
template: " \ue28e {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the flutter version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.dart`, `pubspec.yaml`, `pubspec.yml`, `pubspec.lock` files or the `.dart_tool` folder are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the flutter version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.dart`, `pubspec.yaml`, `pubspec.yml`, `pubspec.lock` files or the `.dart_tool` folder are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,27 +10,32 @@ Display the currently active golang version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "go",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#ffffff",
|
||||
"background": "#7FD5EA",
|
||||
"template": " \u202D\uFCD1 {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "go",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#ffffff",
|
||||
background: "#7FD5EA",
|
||||
template: " \u202D\uFCD1 {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the golang version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.go` or `go.mod` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `parse_mod_file` | `boolean` | parse the go.mod file instead of calling `go version` |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the golang version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.go` or `go.mod` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `parse_mod_file` | `boolean` | parse the go.mod file instead of calling `go version` |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,27 +10,32 @@ Display the currently active Glasgow Haskell Compiler (GHC) version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "haskell",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#906cff",
|
||||
"background": "#100e23",
|
||||
"template": " \ue61f {{ .Full }}"
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "haskell",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#906cff",
|
||||
background: "#100e23",
|
||||
template: " \ue61f {{ .Full }}",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the GHC version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.hs`, `*.lhs`, `stack.yaml`, `package.yaml`, `*.cabal`, or `cabal.project` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `stack_ghc_mode` | `string` | determines when to use `stack ghc` to retrieve the version information. Using `stack ghc` will decrease performance.<ul><li>`never`: never use `stack ghc` (**default**)</li><li>`package`: only use `stack ghc` when `stack.yaml` is in the root of the </li><li>`always`: always use `stack ghc`</li></ul> |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the GHC version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.hs`, `*.lhs`, `stack.yaml`, `package.yaml`, `*.cabal`, or `cabal.project` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `stack_ghc_mode` | `string` | determines when to use `stack ghc` to retrieve the version information. Using `stack ghc` will decrease performance.<ul><li>`never`: never use `stack ghc` (**default**)</li><li>`package`: only use `stack ghc` when `stack.yaml` is in the root of the </li><li>`always`: always use `stack ghc`</li></ul> |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,25 +10,30 @@ Display the currently active java version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "java",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#ffffff",
|
||||
"background": "#4063D8",
|
||||
"template": " \uE738 {{ .Full }}"
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "java",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#ffffff",
|
||||
background: "#4063D8",
|
||||
template: " \uE738 {{ .Full }}",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the java version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the java command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when one of the following files is present<ul><li>`pom.xml`</li><li>`build.gradle.kts`</li><li>`build.sbt`</li><li>`.java-version`</li><li>`.deps.edn`</li><li>`project.clj`</li><li>`build.boot`</li><li>`*.java`</li><li>`*.class`</li><li>`*.gradle`</li><li>`*.jar`</li><li>`*.clj`</li><li>`*.cljc`</li></ul></li></ul> |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the java version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the java command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when one of the following files is present<ul><li>`pom.xml`</li><li>`build.gradle.kts`</li><li>`build.sbt`</li><li>`.java-version`</li><li>`.deps.edn`</li><li>`project.clj`</li><li>`build.boot`</li><li>`*.java`</li><li>`*.class`</li><li>`*.gradle`</li><li>`*.jar`</li><li>`*.clj`</li><li>`*.cljc`</li></ul></li></ul> |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,26 +10,31 @@ Display the currently active julia version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "julia",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#ffffff",
|
||||
"background": "#4063D8",
|
||||
"template": " \uE624 {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "julia",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#ffffff",
|
||||
background: "#4063D8",
|
||||
template: " \uE624 {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the julia version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.jl` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the julia version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.jl` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,26 +10,31 @@ Display the currently active [Kotlin][kotlin] version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "kotlin",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#ffffff",
|
||||
"background": "#906cff",
|
||||
"template": " <b>K</b> {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "kotlin",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#ffffff",
|
||||
background: "#906cff",
|
||||
template: " <b>K</b> {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the kotlin version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.kt`, `*.kts` or `*.ktm` files are present (**default**) </li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the kotlin version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.kt`, `*.kts` or `*.ktm` files are present (**default**) </li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,27 +10,32 @@ Display the currently active [Lua][lua] or [LuaJIT][luajit] version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "lua",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\ue0b0",
|
||||
"foreground": "white",
|
||||
"background": "blue",
|
||||
"template": " \ue620 {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "lua",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\ue0b0",
|
||||
foreground: "white",
|
||||
background: "blue",
|
||||
template: " \ue620 {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the lua version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.lua`, `*.rockspec` files or the `lua` folder are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `preferred_executable` | `string` | the preferred executable to use when fetching the version<ul><li>`lua`: the Lua executable (**default**)</li><li>`luajit`: the LuaJIT executable</li></ul> |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the lua version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.lua`, `*.rockspec` files or the `lua` folder are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `preferred_executable` | `string` | the preferred executable to use when fetching the version<ul><li>`lua`: the Lua executable (**default**)</li><li>`luajit`: the LuaJIT executable</li></ul> |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -25,16 +25,19 @@ import Config from "@site/src/components/Config.js";
|
|||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ----------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the Node.js version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: The segment is always displayed</li><li>`files`: The segment is only displayed when one of the following files is present (**default**):<ul><li>`*.js`</li><li>`*.ts`</li><li>`package.json`</li><li>`.nvmrc`</li><li>`pnpm-workspace.yaml`</li><li>`.pnpmfile.cjs`</li><li>`.npmrc`</li><li>`.vue`</li></ul></li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `fetch_package_manager` | `boolean` | define if the current project uses Yarn or NPM - defaults to `false` |
|
||||
| `yarn_icon` | `string` | the icon/text to display when using Yarn - defaults to ` \uF011B` |
|
||||
| `npm_icon` | `string` | the icon/text to display when using NPM - defaults to ` \uE71E` |
|
||||
| Name | Type | Description |
|
||||
| ----------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the Node.js version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: The segment is always displayed</li><li>`files`: The segment is only displayed when one of the following files is present (**default**):<ul><li>`*.js`</li><li>`*.ts`</li><li>`package.json`</li><li>`.nvmrc`</li><li>`pnpm-workspace.yaml`</li><li>`.pnpmfile.cjs`</li><li>`.npmrc`</li><li>`.vue`</li></ul></li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `fetch_package_manager` | `boolean` | define if the current project uses Yarn or NPM - defaults to `false` |
|
||||
| `yarn_icon` | `string` | the icon/text to display when using Yarn - defaults to ` \uF011B` |
|
||||
| `npm_icon` | `string` | the icon/text to display when using NPM - defaults to ` \uE71E` |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,26 +10,31 @@ Display the currently active [npm][npm-docs] version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "npm",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#193549",
|
||||
"background": "#ffeb3b",
|
||||
"template": "\ue71e {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "npm",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#193549",
|
||||
background: "#ffeb3b",
|
||||
template: "\ue71e {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `fetch_version` | `boolean` | fetch the NPM version - defaults to `true` |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `package.json` or `package-lock.json` file are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `fetch_version` | `boolean` | fetch the NPM version - defaults to `true` |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `package.json` or `package-lock.json` file are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,25 +10,30 @@ Display the currently active [Nx][nx-docs] version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "nx",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#000000",
|
||||
"background": "#1976d2",
|
||||
"template": " \uE753 {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "nx",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#000000",
|
||||
background: "#1976d2",
|
||||
template: " \uE753 {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the active version or not; useful if all you need is an icon indicating `ng` |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when a `workspace.json` or `nx.json` file is present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the active version or not; useful if all you need is an icon indicating `ng` |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when a `workspace.json` or `nx.json` file is present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,24 +10,29 @@ Display the currently active OCaml version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "ocaml",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#d08770",
|
||||
"template": " \ue67a {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "ocaml",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#d08770",
|
||||
template: " \ue67a {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the ocaml version (`ocaml -version`) - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.rs`, `Cargo.toml` or `Cargo.lock` files are present (**default**)</li></ul> |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the ocaml version (`ocaml -version`) - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.rs`, `Cargo.toml` or `Cargo.lock` files are present (**default**)</li></ul> |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,25 +10,30 @@ Display the currently active perl version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "perl",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#ffffff",
|
||||
"background": "#4063D8",
|
||||
"template": " \ue769 {{ .Full }}"
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "perl",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#ffffff",
|
||||
background: "#4063D8",
|
||||
template: " \ue769 {{ .Full }}",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the perl version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the perl command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when one of the following files is present (**default**):<ul><li>`.perl-version`</li><li>`*.pl`</li><li>`*.p`</li><li>`*.t`</li></ul></li></ul> |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the perl version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the perl command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when one of the following files is present (**default**):<ul><li>`.perl-version`</li><li>`*.pl`</li><li>`*.p`</li><li>`*.t`</li></ul></li></ul> |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,26 +10,31 @@ Display the currently active php version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "php",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#ffffff",
|
||||
"background": "#4063D8",
|
||||
"template": " \ue73d {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "php",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#ffffff",
|
||||
background: "#4063D8",
|
||||
template: " \ue73d {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the php version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when one of the following files is present (**default**):<ul><li>`*.php`</li><li>`composer.json`</li><li>`composer.lock`</li><li>`.php-version`</li><li>`blade.php`</li></ul></li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the php version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when one of the following files is present (**default**):<ul><li>`*.php`</li><li>`composer.json`</li><li>`composer.lock`</li><li>`.php-version`</li><li>`blade.php`</li></ul></li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -13,28 +13,33 @@ If your virtual environment is a directory named `venv` or `.venv`, the virtual
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "python",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#100e23",
|
||||
"background": "#906cff",
|
||||
"template": " \uE235 {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "python",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#100e23",
|
||||
background: "#906cff",
|
||||
template: " \uE235 {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_virtual_env` | `boolean` | fetch the name of the virtualenv or not - defaults to `true` |
|
||||
| `display_default` | `boolean` | show the name of the virtualenv when it's default (`system`, `base`) or not - defaults to `true` |
|
||||
| `fetch_version` | `boolean` | fetch the python version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when one of the following files is present:<ul><li>`*.py`</li><li>`*.ipynb`</li><li>`pyproject.toml`</li><li>`venv.bak`</li><li>`venv`</li><li>`.venv`</li></ul></li><li>`environment`: the segment is only displayed when a virtual env is present (**default**)</li><li>`context`: the segment is only displayed when either `environment` or `files` is active</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_virtual_env` | `boolean` | fetch the name of the virtualenv or not - defaults to `true` |
|
||||
| `display_default` | `boolean` | show the name of the virtualenv when it's default (`system`, `base`) or not - defaults to `true` |
|
||||
| `fetch_version` | `boolean` | fetch the python version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when one of the following files is present:<ul><li>`*.py`</li><li>`*.ipynb`</li><li>`pyproject.toml`</li><li>`venv.bak`</li><li>`venv`</li><li>`.venv`</li></ul></li><li>`environment`: the segment is only displayed when a virtual env is present (**default**)</li><li>`context`: the segment is only displayed when either `environment` or `files` is active</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -26,13 +26,16 @@ import Config from "@site/src/components/Config.js";
|
|||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | --------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `fetch_version` | `boolean` | fetch the NPM version - defaults to `true` |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `fetch_dependencies` | `boolean` | fetch the version number of the `vite` and `@quasar/app-vite` dependencies if present - defaults to `false` |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `fetch_version` | `boolean` | fetch the NPM version - defaults to `true` |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `fetch_dependencies` | `boolean` | fetch the version number of the `vite` and `@quasar/app-vite` dependencies if present - defaults to `false` |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,26 +10,31 @@ Display the currently active [R][r-homepage] version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "r",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "blue",
|
||||
"background": "lightWhite",
|
||||
"template": " R {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "r",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "blue",
|
||||
background: "lightWhite",
|
||||
template: " R {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the R version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when one of the following files is present (**default**):<ul><li>`*.R`</li><li>`*.Rmd`</li><li>`*.Rsx`</li><li>`*.Rda`</li><li>`*.Rd`</li><li>`*.Rproj`</li><li>`.Rproj.user`</li></ul></li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the R version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when one of the following files is present (**default**):<ul><li>`*.R`</li><li>`*.Rmd`</li><li>`*.Rsx`</li><li>`*.Rda`</li><li>`*.Rd`</li><li>`*.Rproj`</li><li>`.Rproj.user`</li></ul></li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,25 +10,30 @@ Display the currently active ruby version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "ruby",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#ffffff",
|
||||
"background": "#4063D8",
|
||||
"template": " \uE791 {{ .Full }}"
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "ruby",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#ffffff",
|
||||
background: "#4063D8",
|
||||
template: " \uE791 {{ .Full }}",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the ruby version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.rb`, `Gemfile` or `Rakefile` files are present (**default**)</li></ul> |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the ruby version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.rb`, `Gemfile` or `Rakefile` files are present (**default**)</li></ul> |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,25 +10,30 @@ Display the currently active rust version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "rust",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#193549",
|
||||
"background": "#99908a",
|
||||
"template": " \uE7a8 {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "rust",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#193549",
|
||||
background: "#99908a",
|
||||
template: " \uE7a8 {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the rust version (`rustc --version`) - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.rs`, `Cargo.toml` or `Cargo.lock` files are present (**default**)</li></ul> |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the rust version (`rustc --version`) - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.rs`, `Cargo.toml` or `Cargo.lock` files are present (**default**)</li></ul> |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,26 +10,31 @@ Display the currently active [Swift][swift] version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "swift",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#ffffff",
|
||||
"background": "#f6553c",
|
||||
"template": " \ue755 {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "swift",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#ffffff",
|
||||
background: "#f6553c",
|
||||
template: " \ue755 {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the swift version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.swift` or `*.SWIFT` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the swift version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.swift` or `*.SWIFT` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -11,26 +11,31 @@ see [the documentation][ui5-version-help]).
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"background": "#f5a834",
|
||||
"foreground": "#100e23",
|
||||
"powerline_symbol": "\ue0b0",
|
||||
"template": " \uf0adui5 {{ .Full }} ",
|
||||
"style": "powerline",
|
||||
"type": "ui5tooling"
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
background: "#f5a834",
|
||||
foreground: "#100e23",
|
||||
powerline_symbol: "\ue0b0",
|
||||
template: " \uf0adui5 {{ .Full }} ",
|
||||
style: "powerline",
|
||||
type: "ui5tooling",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the UI5 tooling version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the java command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*ui5*.y(a)ml` file is present in the current folder</li><li>`context`: the segment is only displayed when `*ui5*.y(a)ml` file is present in the current folder or it has been found in the parent folders (check up to 4 levels) (**default**) </li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the UI5 tooling version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the java command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*ui5*.y(a)ml` file is present in the current folder</li><li>`context`: the segment is only displayed when `*ui5*.y(a)ml` file is present in the current folder or it has been found in the parent folders (check up to 4 levels) (**default**) </li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,26 +10,31 @@ Display the currently active vala version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "vala",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#ffffff",
|
||||
"background": "#5E20A4",
|
||||
"template": " \ue69e {{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "vala",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#ffffff",
|
||||
background: "#5E20A4",
|
||||
template: " \ue69e {{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the flutter version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.vala` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | fetch the flutter version - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when `*.vala` files are present (**default**)</li></ul> |
|
||||
| `version_url_template` | `string` | a go [text/template][go-text-template] [template][templates] that creates the URL of the version info / release notes |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([info][templates])
|
||||
|
||||
|
|
|
@ -10,25 +10,30 @@ Display the currently active xmake version.
|
|||
|
||||
## Sample Configuration
|
||||
|
||||
import Config from '@site/src/components/Config.js';
|
||||
import Config from "@site/src/components/Config.js";
|
||||
|
||||
<Config data={{
|
||||
"type": "xmake",
|
||||
"style": "powerline",
|
||||
"powerline_symbol": "\uE0B0",
|
||||
"foreground": "#e0f2f1",
|
||||
"background": "#22a079",
|
||||
"template": " xmake v{{ .Full }} "
|
||||
}}/>
|
||||
<Config
|
||||
data={{
|
||||
type: "xmake",
|
||||
style: "powerline",
|
||||
powerline_symbol: "\uE0B0",
|
||||
foreground: "#e0f2f1",
|
||||
background: "#22a079",
|
||||
template: " xmake v{{ .Full }} ",
|
||||
}}
|
||||
/>
|
||||
|
||||
## Properties
|
||||
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the xmake version (`xmake --version`) - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when a `xmake.lua` file is present (**default**)</li></ul> |
|
||||
| Name | Type | Description |
|
||||
| ---------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `home_enabled` | `boolean` | display the segment in the HOME folder or not - defaults to `false` |
|
||||
| `fetch_version` | `boolean` | display the xmake version (`xmake --version`) - defaults to `true` |
|
||||
| `missing_command_text` | `string` | text to display when the command is missing - defaults to empty |
|
||||
| `display_mode` | `string` | <ul><li>`always`: the segment is always displayed</li><li>`files`: the segment is only displayed when a `xmake.lua` file is present (**default**)</li></ul> |
|
||||
| `extensions` | `[]string` | allows to override the default list of file extensions to validate |
|
||||
| `folders` | `[]string` | allows to override the list of folders names to validate |
|
||||
| `cache_version` | `boolean` | cache the executable's version or not - defaults to `false` |
|
||||
|
||||
## Template ([into][templates])
|
||||
|
||||
|
|
Loading…
Reference in a new issue