@@ -17,14 +17,12 @@ import qualified Data.ByteString as BS
17
17
import Data.Hashable
18
18
import Data.HashMap.Strict (HashMap )
19
19
import qualified Data.HashMap.Strict as HashMap
20
- import Data.List (find )
21
20
import qualified Data.List.NonEmpty as NE
22
21
import qualified Data.Maybe as Maybe
23
22
import qualified Data.Text as T
24
23
import qualified Data.Text.Encoding as Encoding
25
24
import Data.Typeable
26
25
import Development.IDE as D
27
- import Development.IDE.Core.PluginUtils
28
26
import Development.IDE.Core.Shake (restartShakeSession )
29
27
import qualified Development.IDE.Core.Shake as Shake
30
28
import Development.IDE.Graph (Key , alwaysRerun )
@@ -33,21 +31,19 @@ import Development.IDE.Types.Shake (toKey)
33
31
import qualified Distribution.Fields as Syntax
34
32
import qualified Distribution.Parsec.Position as Syntax
35
33
import GHC.Generics
36
- import Ide.Plugin.Cabal.Completion.CabalFields as CabalFields
37
34
import qualified Ide.Plugin.Cabal.Completion.Completer.Types as CompleterTypes
38
35
import qualified Ide.Plugin.Cabal.Completion.Completions as Completions
39
36
import Ide.Plugin.Cabal.Completion.Types (ParseCabalCommonSections (ParseCabalCommonSections ),
40
37
ParseCabalFields (.. ),
41
38
ParseCabalFile (.. ))
42
39
import qualified Ide.Plugin.Cabal.Completion.Types as Types
43
- import Ide.Plugin.Cabal.Definition (gotoDefinitionAction )
40
+ import Ide.Plugin.Cabal.Definition (gotoDefinition )
44
41
import qualified Ide.Plugin.Cabal.Diagnostics as Diagnostics
45
42
import qualified Ide.Plugin.Cabal.FieldSuggest as FieldSuggest
46
43
import qualified Ide.Plugin.Cabal.LicenseSuggest as LicenseSuggest
47
44
import Ide.Plugin.Cabal.Orphans ()
48
45
import Ide.Plugin.Cabal.Outline
49
46
import qualified Ide.Plugin.Cabal.Parse as Parse
50
- import Ide.Plugin.Error
51
47
import Ide.Types
52
48
import qualified Language.LSP.Protocol.Lens as JL
53
49
import qualified Language.LSP.Protocol.Message as LSP
@@ -98,7 +94,7 @@ descriptor recorder plId =
98
94
, mkPluginHandler LSP. SMethod_TextDocumentCompletion $ completion recorder
99
95
, mkPluginHandler LSP. SMethod_TextDocumentDocumentSymbol moduleOutline
100
96
, mkPluginHandler LSP. SMethod_TextDocumentCodeAction $ fieldSuggestCodeAction recorder
101
- , mkPluginHandler LSP. SMethod_TextDocumentDefinition gotoDefinitionAction
97
+ , mkPluginHandler LSP. SMethod_TextDocumentDefinition gotoDefinition
102
98
]
103
99
, pluginNotificationHandlers =
104
100
mconcat
@@ -283,32 +279,6 @@ fieldSuggestCodeAction recorder ide _ (CodeActionParams _ _ (TextDocumentIdentif
283
279
let completionTexts = fmap (^. JL. label) completions
284
280
pure $ FieldSuggest. fieldErrorAction uri fieldName completionTexts _range
285
281
286
- -- | CodeActions for going to definitions.
287
- --
288
- -- Provides a CodeAction for going to a definition when clicking on an identifier.
289
- -- The definition is found by traversing the sections and comparing their name to
290
- -- the clicked identifier.
291
- --
292
- -- TODO: Support more definitions than sections.
293
- gotoDefinition :: PluginMethodHandler IdeState LSP. Method_TextDocumentDefinition
294
- gotoDefinition ideState _ msgParam = do
295
- nfp <- getNormalizedFilePathE uri
296
- cabalFields <- runActionE " cabal-plugin.commonSections" ideState $ useE ParseCabalFields nfp
297
- case CabalFields. findTextWord cursor cabalFields of
298
- Nothing ->
299
- pure $ InR $ InR Null
300
- Just cursorText -> do
301
- commonSections <- runActionE " cabal-plugin.commonSections" ideState $ useE ParseCabalCommonSections nfp
302
- case find (isSectionArgName cursorText) commonSections of
303
- Nothing ->
304
- pure $ InR $ InR Null
305
- Just commonSection -> do
306
- pure $ InL $ Definition $ InL $ Location uri $ CabalFields. getFieldLSPRange commonSection
307
- where
308
- cursor = Types. lspPositionToCabalPosition (msgParam ^. JL. position)
309
- uri = msgParam ^. JL. textDocument . JL. uri
310
- isSectionArgName name (Syntax. Section _ sectionArgName _) = name == CabalFields. onelineSectionArgs sectionArgName
311
- isSectionArgName _ _ = False
312
282
313
283
-- ----------------------------------------------------------------
314
284
-- Cabal file of Interest rules and global variable
0 commit comments