Skip to content

Commit a812311

Browse files
committed
add noopCompleters for all cabal.project fields in fieldGrammar
1 parent c69973b commit a812311

File tree

1 file changed

+116
-24
lines changed
  • plugins/hls-cabal-project-plugin/src/Ide/Plugin/CabalProject/Completion

1 file changed

+116
-24
lines changed

plugins/hls-cabal-project-plugin/src/Ide/Plugin/CabalProject/Completion/Data.hs

Lines changed: 116 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -39,36 +39,128 @@ import Ide.Plugin.Cabal.Completion.Types
3939
cabalProjectKeywords :: Map KeyWordName Completer
4040
cabalProjectKeywords =
4141
Map.fromList
42-
[ ("packages:", constantCompleter []),
43-
("optional-packages:", constantCompleter []),
44-
("extra-packages:", constantCompleter []),
45-
("verbose:", constantCompleter []),
46-
("build-summary:", constantCompleter []),
47-
("build-log:", constantCompleter []),
48-
("remote-build-reporting:", constantCompleter []),
49-
("report-planning-failure:", constantCompleter []),
50-
("symlink-bindir:", constantCompleter []),
51-
("jobs:", constantCompleter []),
52-
("semaphore:", constantCompleter []),
53-
("keep-going:", constantCompleter []),
54-
("offline:", constantCompleter []),
55-
("haddock-keep-temp-files:", constantCompleter []),
56-
("http-transport:", constantCompleter []),
57-
("ignore-expiry:", constantCompleter []),
58-
("remote-repo-cache:", constantCompleter []),
59-
("logs-dir:", constantCompleter [])
60-
-- add projectConfigSharedFieldGrammar,
42+
[ -- projectConfigFieldGrammar
43+
("packages:", noopCompleter),
44+
("optional-packages:", noopCompleter),
45+
("extra-packages:", noopCompleter),
46+
-- projectConfigBuildOnlyFieldGrammar
47+
("verbose:", constantCompleter ["0", "1", "2", "3"]), -- not sure if this works/makes sense?
48+
("build-summary:", noopCompleter),
49+
("build-log:", noopCompleter),
50+
("remote-build-reporting:", noopCompleter),
51+
("report-planning-failure:", noopCompleter),
52+
("symlink-bindir:", noopCompleter),
53+
("jobs:", noopCompleter),
54+
("semaphore:", noopCompleter),
55+
("keep-going:", noopCompleter),
56+
("offline:", noopCompleter),
57+
("haddock-keep-temp-files:", noopCompleter),
58+
("http-transport:", noopCompleter),
59+
("ignore-expiry:", noopCompleter),
60+
("remote-repo-cache:", noopCompleter),
61+
("logs-dir:", noopCompleter),
62+
-- projectConfigSharedFieldGrammar
63+
("builddir:", noopCompleter),
64+
("project-dir:", noopCompleter),
65+
("project-file:", noopCompleter),
66+
("ignore-project:", noopCompleter),
67+
("compiler:", noopCompleter),
68+
("with-compiler:", noopCompleter),
69+
("with-hc-pkg:", noopCompleter),
70+
("doc-index-file:", noopCompleter),
71+
("package-dbs:", noopCompleter),
72+
("active-repositories:", noopCompleter),
73+
("index-state:", noopCompleter),
74+
("store-dir:", noopCompleter),
75+
("constraints:", noopCompleter),
76+
("preferences:", noopCompleter),
77+
("cabal-lib-version:", noopCompleter),
78+
("solver:", noopCompleter),
79+
("allow-older:", constantCompleter ["True", "False"]),
80+
("allow-newer:", constantCompleter ["True", "False"]),
81+
("write-ghc-environment-files:", noopCompleter),
82+
("max-backjumps:", noopCompleter),
83+
("reorder-goals:", noopCompleter),
84+
("count-conflicts:", noopCompleter),
85+
("fine-grained-conflicts:", noopCompleter),
86+
("minimize-conflict-set:", noopCompleter),
87+
("strong-flags:", noopCompleter),
88+
("allow-boot-library-installs:", noopCompleter),
89+
("reject-unconstrained-dependencies:", noopCompleter),
90+
("per-component:", noopCompleter),
91+
("independent-goals:", noopCompleter),
92+
("prefer-oldest:", noopCompleter),
93+
("extra-prog-path-shared-only:", noopCompleter),
94+
("multi-repl:", noopCompleter)
6195
]
6296

6397
packageFields :: Map KeyWordName Completer
6498
packageFields =
6599
Map.fromList
66-
[ ("haddock-all:", constantCompleter []),
100+
[ -- packageConfigFieldGrammar
101+
("haddock-all:", noopCompleter),
67102
("extra-prog-path:", noopCompleter),
68-
("flags:", constantCompleter []),
69-
("library-vanilla:", constantCompleter []),
70-
("shared:", constantCompleter [])
71-
-- add rest
103+
("flags:", noopCompleter),
104+
("library-vanilla:", noopCompleter),
105+
("shared:", noopCompleter),
106+
("static:", noopCompleter),
107+
("exectable-dynamic:", noopCompleter),
108+
("executable-static:", noopCompleter),
109+
("profiling:", noopCompleter),
110+
("library-profiling:", noopCompleter),
111+
("profiling-shared:", noopCompleter),
112+
("exectable-profiling:", noopCompleter),
113+
("profiling-detail:", noopCompleter),
114+
("library-profiling-detail:", noopCompleter),
115+
("configure-options:", noopCompleter),
116+
("optimization:", noopCompleter),
117+
("program-prefix:", noopCompleter),
118+
("program-suffix:", noopCompleter),
119+
("extra-lib-dirs:", noopCompleter),
120+
("extra-lib-dirs-static:", noopCompleter),
121+
("extra-framework-dirs:", noopCompleter),
122+
("extra-include-dirs:", noopCompleter),
123+
("library-for-ghci:", noopCompleter),
124+
("split-sections:", noopCompleter),
125+
("split-objs:", noopCompleter),
126+
("executable-stripping:", noopCompleter),
127+
("library-stripping:", noopCompleter),
128+
("tests:", noopCompleter),
129+
("benchmarks:", noopCompleter),
130+
("relocatable:", noopCompleter),
131+
("debug-info:", noopCompleter),
132+
("build-info:", noopCompleter),
133+
("run-tests:", noopCompleter),
134+
("documentation:", noopCompleter),
135+
("haddock-hoogle:", noopCompleter),
136+
("haddock-html:", noopCompleter),
137+
("haddock-html-location:", noopCompleter),
138+
("haddock-foreign-libraries:", noopCompleter),
139+
("haddock-executables:", noopCompleter),
140+
("haddock-tests:", noopCompleter),
141+
("haddock-benchmarks:", noopCompleter),
142+
("haddock-internal:", noopCompleter),
143+
("haddock-css:", noopCompleter),
144+
("haddock-hyperlink-source:", noopCompleter),
145+
("haddock-quickjump:", noopCompleter),
146+
("haddock-hscolour-css:", noopCompleter),
147+
("haddock-contents-location:", noopCompleter),
148+
("haddock-index-location:", noopCompleter),
149+
("haddock-base-url:", noopCompleter),
150+
("haddock-resources-dir:", noopCompleter),
151+
("haddock-output-dir:", noopCompleter),
152+
("haddock-use-unicode:", noopCompleter),
153+
("haddock-for-hackage:", noopCompleter),
154+
("test-log:", noopCompleter),
155+
("test-machine-log:", noopCompleter),
156+
("test-show-details:", noopCompleter),
157+
("test-keep-tix-files:", noopCompleter),
158+
("test-wrapper:", noopCompleter),
159+
("test-fail-when-no-test-suites:", noopCompleter),
160+
("test-options:", noopCompleter),
161+
("benchmark-options:", noopCompleter),
162+
-- packageConfigCoverageGrammar
163+
("coverage:", noopCompleter)
72164
]
73165

74166
-- | Map, containing all stanzas in a cabal file as keys,

0 commit comments

Comments
 (0)