diff --git a/docs/docs/segment-project.md b/docs/docs/segment-project.md index 31f8f3d1..456ebc5f 100644 --- a/docs/docs/segment-project.md +++ b/docs/docs/segment-project.md @@ -13,6 +13,7 @@ Supports: - Node.js project (`package.json`) - Cargo project (`Cargo.toml`) - Poetry project (`pyproject.toml`) +- PHP project (`composer.json`) ## Sample Configuration @@ -32,7 +33,7 @@ Supports: :::note default template ``` template - {{ if .Error }}{{ .Error }}{{ else }}{{ if .Version }}\uf487 {{.Version}}{{ end }} {{ if .Name }}{{ .Name }}{{ end }}{{ end }} + {{ if .Error }}{{ .Error }}{{ else }}{{ if .Version }}\uf487 {{.Version}}{{ end }} {{ if .Name }}{{ .Name }}{{ end }}{{ end }} ``` ::: diff --git a/src/segments/project.go b/src/segments/project.go index b269c354..23b0b162 100644 --- a/src/segments/project.go +++ b/src/segments/project.go @@ -78,6 +78,11 @@ func (n *Project) Init(props properties.Properties, env environment.Environment) File: "pyproject.toml", Fetcher: n.getPoetryPackage, }, + { + Name: "php", + File: "composer.json", + Fetcher: n.getNodePackage, + }, } n.Version = "" diff --git a/src/segments/project_test.go b/src/segments/project_test.go index ab1b1451..e83634b9 100644 --- a/src/segments/project_test.go +++ b/src/segments/project_test.go @@ -36,6 +36,7 @@ func getMockedPackageEnv(tc *MockData) (*mock.MockedEnvironment, properties.Map) func TestPackage(t *testing.T) { cases := []*MockData{ {Case: "1.0.0 node.js", ExpectedString: "\uf487 1.0.0 test", Name: "node", File: "package.json", PackageContents: "{\"version\":\"1.0.0\",\"name\":\"test\"}"}, + {Case: "1.0.0 php", ExpectedString: "\uf487 1.0.0 test", Name: "php", File: "composer.json", PackageContents: "{\"version\":\"1.0.0\",\"name\":\"test\"}"}, {Case: "3.2.1 node.js", ExpectedString: "\uf487 3.2.1 test", Name: "node", File: "package.json", PackageContents: "{\"version\":\"3.2.1\",\"name\":\"test\"}"}, {Case: "1.0.0 cargo", ExpectedString: "\uf487 1.0.0 test", Name: "cargo", File: "Cargo.toml", PackageContents: "[package]\nname=\"test\"\nversion=\"1.0.0\"\n"}, {Case: "3.2.1 cargo", ExpectedString: "\uf487 3.2.1 test", Name: "cargo", File: "Cargo.toml", PackageContents: "[package]\nname=\"test\"\nversion=\"3.2.1\"\n"},