Skip to content

Commit 48ca560

Browse files
authored
Merge pull request github#687 from github/pathological,-part-one
Drop pathtype, part one
2 parents 4c78b4b + 9fda0e5 commit 48ca560

File tree

6 files changed

+34
-36
lines changed

6 files changed

+34
-36
lines changed

.github/workflows/haskell.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ jobs:
6666
cabal v2-run --project-file=cabal.project.ci semantic-tags:test
6767
cabal v2-run --project-file=cabal.project.ci semantic-tsx:test
6868
cabal v2-run --project-file=cabal.project.ci semantic-typescript:test
69-
cabal v2-run --project-file=cabal.project.ci semantic-source:test
69+
cd semantic-source && cabal v2-run --project-file=cabal.project.ci semantic-source:test
7070
7171
- name: Write out cache
7272
run: ./cabal-cache sync-to-archive --threads=2 --archive-uri=dist-cache

cabal.project

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ packages: semantic
1515
semantic-ruby
1616
semantic-rust
1717
semantic-scope-graph
18-
semantic-source
1918
semantic-tags
2019
semantic-tsx
2120
semantic-typescript

cabal.project.ci

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ packages: semantic
1515
semantic-ruby
1616
semantic-rust
1717
semantic-scope-graph
18-
semantic-source
1918
semantic-tags
2019
semantic-tsx
2120
semantic-typescript
@@ -54,9 +53,6 @@ package semantic-ruby
5453
package semantic-scope-graph
5554
ghc-options: -Werror
5655

57-
package semantic-source
58-
ghc-options: -Werror
59-
6056
package semantic-tags
6157
ghc-options: -Werror
6258

semantic-source/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
# 0.2.0.0
2+
3+
- Finds languages for `FilePath`s.
4+
- Drops dependency on `pathtype`.
5+
6+
17
# 0.1.0.2
28

39
- Support ghc 9.2.

semantic-source/semantic-source.cabal

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cabal-version: 2.4
22

33
name: semantic-source
4-
version: 0.1.0.2
4+
version: 0.2.0.0
55
synopsis: Types and functionality for working with source code
66
description: Types and functionality for working with source code (program text).
77
homepage: https://github.com/github/semantic/tree/master/semantic-source#readme
@@ -64,7 +64,6 @@ library
6464
, containers ^>= 0.6.2
6565
, hashable >= 1.2.7 && < 1.4
6666
, lingo ^>= 0.5.0.3
67-
, pathtype ^>= 0.8.1
6867
, semilattices ^>= 0.0.0.3
6968
, text ^>= 1.2.3.2
7069
hs-source-dirs: src

semantic-source/src/Source/Language.hs

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ import qualified Data.Languages as Lingo
2020
import qualified Data.Map.Strict as Map
2121
import qualified Data.Text as T
2222
import GHC.Generics (Generic)
23-
import qualified System.Path as Path
24-
import qualified System.Path.PartClass as Path.PartClass
2523

2624
-- | The various languages we support.
2725
data Language
@@ -96,47 +94,47 @@ knownLanguage = (/= Unknown)
9694
extensionsForLanguage :: Language -> [String]
9795
extensionsForLanguage language = fmap T.unpack (maybe mempty Lingo.languageExtensions (Map.lookup (languageToText language) Lingo.languages))
9896

99-
forPath :: Path.PartClass.AbsRel ar => Path.File ar -> Language
97+
forPath :: FilePath -> Language
10098
forPath path =
10199
let spurious lang = lang `elem` [ "Hack" -- .php files
102100
, "GCC Machine Description" -- .md files
103101
, "XML" -- .tsx files
104102
]
105-
allResults = Lingo.languageName <$> Lingo.languagesForPath (Path.toString path)
103+
allResults = Lingo.languageName <$> Lingo.languagesForPath path
106104
in case filter (not . spurious) allResults of
107105
[result] -> textToLanguage result
108106
_ -> Unknown
109107

110108
languageToText :: Language -> T.Text
111109
languageToText = \case
112-
Unknown -> "Unknown"
113-
CodeQL -> "CodeQL"
114-
Go -> "Go"
115-
Haskell -> "Haskell"
116-
Java -> "Java"
110+
Unknown -> "Unknown"
111+
CodeQL -> "CodeQL"
112+
Go -> "Go"
113+
Haskell -> "Haskell"
114+
Java -> "Java"
117115
JavaScript -> "JavaScript"
118-
JSON -> "JSON"
119-
JSX -> "JSX"
120-
Markdown -> "Markdown"
121-
PHP -> "PHP"
122-
Python -> "Python"
123-
Ruby -> "Ruby"
116+
JSON -> "JSON"
117+
JSX -> "JSX"
118+
Markdown -> "Markdown"
119+
PHP -> "PHP"
120+
Python -> "Python"
121+
Ruby -> "Ruby"
124122
TypeScript -> "TypeScript"
125-
TSX -> "TSX"
123+
TSX -> "TSX"
126124

127125
textToLanguage :: T.Text -> Language
128126
textToLanguage = \case
129-
"CodeQL" -> CodeQL
130-
"Go" -> Go
131-
"Haskell" -> Haskell
132-
"Java" -> Java
127+
"CodeQL" -> CodeQL
128+
"Go" -> Go
129+
"Haskell" -> Haskell
130+
"Java" -> Java
133131
"JavaScript" -> JavaScript
134-
"JSON" -> JSON
135-
"JSX" -> JSX
136-
"Markdown" -> Markdown
137-
"PHP" -> PHP
138-
"Python" -> Python
139-
"Ruby" -> Ruby
132+
"JSON" -> JSON
133+
"JSX" -> JSX
134+
"Markdown" -> Markdown
135+
"PHP" -> PHP
136+
"Python" -> Python
137+
"Ruby" -> Ruby
140138
"TypeScript" -> TypeScript
141-
"TSX" -> TSX
142-
_ -> Unknown
139+
"TSX" -> TSX
140+
_ -> Unknown

0 commit comments

Comments
 (0)