@@ -23,17 +23,14 @@ import Ide.Plugin.Cabal.LicenseSuggest (licenseNames)
2323-- Completion Data
2424-- ----------------------------------------------------------------
2525
26- supportedCabalVersions :: [CabalSpecVersion ]
27- supportedCabalVersions = [CabalSpecV2_2 .. maxBound ]
28-
2926-- | Keyword for cabal version; required to be the top line in a cabal file
3027cabalVersionKeyword :: Map KeyWordName Completer
3128cabalVersionKeyword =
3229 Map. singleton " cabal-version:" $
3330 constantCompleter $
3431 -- We only suggest cabal versions newer than 2.2
3532 -- since we don't recommend using older ones.
36- map (T. pack . showCabalSpecVersion) supportedCabalVersions
33+ map (T. pack . showCabalSpecVersion) [ CabalSpecV2_2 .. maxBound ]
3734
3835-- | Top level keywords of a cabal file.
3936--
@@ -90,6 +87,7 @@ libraryFields =
9087 (" visibility:" , constantCompleter [" private" , " public" ]),
9188 (" reexported-modules:" , noopCompleter),
9289 (" signatures:" , noopCompleter),
90+ (" autogen-modules:" , modulesCompleter sourceDirsExtractionLibrary),
9391 (" other-modules:" , modulesCompleter sourceDirsExtractionLibrary)
9492 ]
9593
@@ -98,13 +96,15 @@ executableFields =
9896 Map. fromList
9997 [ (" main-is:" , mainIsCompleter sourceDirsExtractionExecutable),
10098 (" scope:" , constantCompleter [" public" , " private" ]),
99+ (" autogen-modules:" , modulesCompleter sourceDirsExtractionExecutable),
101100 (" other-modules:" , modulesCompleter sourceDirsExtractionExecutable)
102101 ]
103102
104103testSuiteFields :: Map KeyWordName Completer
105104testSuiteFields =
106105 Map. fromList
107106 [ (" type:" , constantCompleter [" exitcode-stdio-1.0" , " detailed-0.9" ]),
107+ (" autogen-modules:" , modulesCompleter sourceDirsExtractionTestSuite),
108108 (" main-is:" , mainIsCompleter sourceDirsExtractionTestSuite),
109109 (" other-modules:" , modulesCompleter sourceDirsExtractionTestSuite)
110110 ]
@@ -113,6 +113,7 @@ benchmarkFields :: Map KeyWordName Completer
113113benchmarkFields =
114114 Map. fromList
115115 [ (" type:" , noopCompleter),
116+ (" autogen-modules:" , modulesCompleter sourceDirsExtractionBenchmark),
116117 (" main-is:" , mainIsCompleter sourceDirsExtractionBenchmark),
117118 (" other-modules:" , modulesCompleter sourceDirsExtractionBenchmark)
118119 ]
@@ -165,8 +166,7 @@ flagFields =
165166libExecTestBenchCommons :: Map KeyWordName Completer
166167libExecTestBenchCommons =
167168 Map. fromList
168- [ (" import:" , importCompleter),
169- (" build-depends:" , noopCompleter),
169+ [ (" build-depends:" , noopCompleter),
170170 (" hs-source-dirs:" , directoryCompleter),
171171 (" default-extensions:" , noopCompleter),
172172 (" other-extensions:" , noopCompleter),
@@ -181,6 +181,7 @@ libExecTestBenchCommons =
181181 (" ghcjs-prof-options:" , constantCompleter ghcOptions),
182182 (" ghcjs-shared-options:" , constantCompleter ghcOptions),
183183 (" includes:" , filePathCompleter),
184+ (" autogen-includes:" , filePathCompleter),
184185 (" install-includes:" , filePathCompleter),
185186 (" include-dirs:" , directoryCompleter),
186187 (" c-sources:" , filePathCompleter),
@@ -264,3 +265,6 @@ weightedLicenseNames =
264265
265266ghcOptions :: [T. Text ]
266267ghcOptions = map T. pack $ flagsForCompletion False
268+
269+ supportedCabalVersions :: [CabalSpecVersion ]
270+ supportedCabalVersions = [CabalSpecV2_2 .. maxBound ]
0 commit comments