Skip to content

Commit 8f5840f

Browse files
committed
Deprecate OPTIONS_CYMAKE
1 parent 268ff9a commit 8f5840f

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

src/Curry/LanguageServer/Handlers/TextDocument/Completion.hs

+16-10
Original file line numberDiff line numberDiff line change
@@ -72,17 +72,23 @@ fetchCompletions opts entry store query
7272

7373
pragmaCompletions :: MonadIO m => CompletionOptions -> VFS.PosPrefixInfo -> m [J.CompletionItem]
7474
pragmaCompletions opts query
75-
| isLanguagePragma = return $ toMatchingCompletions opts query $ Keyword <$> knownExtensions
75+
| isLanguagePragma = return $ toMatchingCompletions opts query knownExtensions
7676
| isOptionPragma = return []
77-
| otherwise = return $ toMatchingCompletions opts query $ Keyword <$> pragmaKinds
78-
where line = VFS.fullLine query
79-
languagePragma = "LANGUAGE"
80-
knownTools = T.pack . show <$> ([minBound..maxBound] :: [CS.KnownTool])
81-
optionPragmas = ("OPTIONS_" <>) <$> knownTools
82-
isLanguagePragma = languagePragma `T.isInfixOf` line
83-
isOptionPragma = any (`T.isInfixOf` line) optionPragmas
84-
pragmaKinds = languagePragma : optionPragmas
85-
knownExtensions = T.pack . show <$> ([minBound..maxBound] :: [CS.KnownExtension])
77+
| otherwise = return $ toMatchingCompletions opts query pragmaKeywords
78+
where line = VFS.fullLine query
79+
languagePragmaName = "LANGUAGE"
80+
optionPragmaPrefix = "OPTIONS_"
81+
languagePragma = Tagged [] $ Keyword languagePragmaName
82+
knownTools = [minBound..maxBound] :: [CS.KnownTool]
83+
optionPragmas = makeToolOptionKeyword <$> knownTools
84+
makeToolOptionKeyword tool = Tagged tags $ Keyword $ optionPragmaPrefix <> T.pack (show tool)
85+
where tags = case tool of
86+
CS.CYMAKE -> [J.CitDeprecated]
87+
_ -> []
88+
isLanguagePragma = languagePragmaName `T.isInfixOf` line
89+
isOptionPragma = optionPragmaPrefix `T.isInfixOf` line
90+
pragmaKeywords = languagePragma : optionPragmas
91+
knownExtensions = Keyword . T.pack . show <$> ([minBound..maxBound] :: [CS.KnownExtension])
8692

8793
importCompletions :: (MonadIO m, MonadLsp c m) => CompletionOptions -> I.IndexStore -> VFS.PosPrefixInfo -> m [J.CompletionItem]
8894
importCompletions opts store query = do

0 commit comments

Comments
 (0)