mirror of
https://github.com/wasp-lang/wasp.git
synced 2024-12-25 18:13:52 +03:00
485f92ca13
* Refactor diagnostics Now stores diagnostics info in the state instead of computing when diagnostics are being published. * Refactor Wasp.LSP.State into multiple files * Move all LSP type imports to qualified More consistent and more clear where things come from * Use new concrete parser in diagnostics Before running full analyzer, runs CST parser to check if it parses correctly and to collect many parse errors. The CST is always put into the state. Then, if successful, the full analyzer gets run as before. * Add basic autocompletion Always suggests every declaration name in the file, with no context-sensitivity. * Refactor some names * Syntax tree traversal code * Attempt at context-sensitive autocomplete Not done, but doing some more refactoring before going back to this * Refactor Control.Syntax.Traverse to use total functions * Make autocompletion context sensitive It actually works now * Miscellaneous code clean up * Fix incorrect type name * Fix syntax traversal bug with back * Remove unreadable symbols from syntax traversal * Refactor completion code * Refactor syntax traversal code * Apply suggestions from code review Co-authored-by: Martin Šošić <Martinsos@users.noreply.github.com> * Feedback from code review * Add tests for Control.Monad.Loops.untilM Co-authored-by: Martin Šošić <Martinsos@users.noreply.github.com>
126 lines
3.2 KiB
Plaintext
126 lines
3.2 KiB
Plaintext
cabal-version: 2.4
|
|
|
|
-- TODO: It make sense in the future to move this into "waspc" project as a
|
|
-- separate project, but for now it is separated.
|
|
|
|
name: waspls
|
|
version: 0.1.0.0
|
|
description: Please see the README on GitHub at <https://github.com/wasp-lang/wasp/waspls#readme>
|
|
homepage: https://github.com/wasp-lang/wasp/waspls#readme
|
|
bug-reports: https://github.com/wasp-lang/wasp/issues
|
|
author: Wasp Team
|
|
maintainer: team@wasp-lang.dev
|
|
copyright: Wasp, Inc.
|
|
license: MIT
|
|
license-file: LICENSE
|
|
extra-source-files:
|
|
README.md
|
|
CHANGELOG.md
|
|
|
|
source-repository head
|
|
type: git
|
|
location: https://github.com/wasp-lang/wasp
|
|
|
|
common common-all
|
|
default-language: Haskell2010
|
|
ghc-options:
|
|
-Wall
|
|
-optP-Wno-nonportable-include-path
|
|
-fwrite-ide-info -hiedir=.hie
|
|
default-extensions:
|
|
OverloadedStrings
|
|
ScopedTypeVariables
|
|
FlexibleContexts
|
|
MultiParamTypeClasses
|
|
DisambiguateRecordFields
|
|
|
|
common common-exe
|
|
ghc-options:
|
|
-threaded -rtsopts -with-rtsopts=-N
|
|
|
|
library
|
|
import: common-all
|
|
exposed-modules:
|
|
Wasp.LSP.Server
|
|
Control.Monad.Loops
|
|
Control.Syntax.Traverse
|
|
Wasp.Backend.Token
|
|
Wasp.Backend.Lexer
|
|
Wasp.Backend.TokenSet
|
|
Wasp.Backend.ParseError
|
|
Wasp.Backend.ConcreteSyntax
|
|
Wasp.Backend.ConcreteParser
|
|
Wasp.Backend.ConcreteParser.Internal
|
|
other-modules:
|
|
Paths_waspls
|
|
Wasp.LSP.ServerState
|
|
Wasp.LSP.ServerConfig
|
|
Wasp.LSP.ServerM
|
|
Wasp.LSP.Handlers
|
|
Wasp.LSP.Diagnostic
|
|
Wasp.LSP.Completion
|
|
Wasp.LSP.Util
|
|
Wasp.LSP.Syntax
|
|
Wasp.Backend.Lexer.Internal
|
|
Wasp.Backend.Lexer.Lexer
|
|
hs-source-dirs:
|
|
src
|
|
build-tool-depends:
|
|
, alex:alex
|
|
build-depends:
|
|
, base ^>=4.14.3.0
|
|
, waspc
|
|
, lsp ^>=1.4.0.0
|
|
, lsp-types ^>=1.4.0.1
|
|
, containers ^>=0.6.5.1
|
|
, mtl ^>=2.2.2
|
|
, transformers ^>=0.5.6.2
|
|
, text ^>=1.2.4.1
|
|
, data-default ^>=0.7.1.1
|
|
, hslogger ^>=1.3.1.0
|
|
, aeson ^>=1.5.6
|
|
, lens ^>=5.1
|
|
, aeson-pretty ^>= 0.8
|
|
, utf8-string ^>= 1.0.2
|
|
-- 'array' is used by code generated by Alex for src/Analyzer/Parser/Lexer.x
|
|
, array ^>= 0.5.4
|
|
, deepseq
|
|
|
|
test-suite waspls-test
|
|
import: common-all, common-exe
|
|
type: exitcode-stdio-1.0
|
|
hs-source-dirs: test
|
|
main-is: TastyDiscoverDriver.hs
|
|
build-tool-depends:
|
|
, tasty-discover:tasty-discover
|
|
build-depends:
|
|
, base
|
|
, waspls
|
|
, deepseq
|
|
, containers ^>= 0.6.5
|
|
, Diff ^>= 0.4.1
|
|
, QuickCheck ^>= 2.14
|
|
, tasty ^>= 1.4.2
|
|
-- tasty-hspec 1.1.7 introduces breaking changes, which is why we have < 1.1.7 .
|
|
, tasty-hspec >= 1.1 && < 1.1.7
|
|
, tasty-quickcheck ^>= 0.10
|
|
other-modules:
|
|
TestUtil
|
|
Control.Syntax.TraverseTest
|
|
Control.Monad.LoopsTest
|
|
Wasp.Backend.LexerTest
|
|
Wasp.Backend.ConcreteParserTest
|
|
|
|
executable waspls
|
|
import: common-all, common-exe
|
|
main-is: Main.hs
|
|
other-modules:
|
|
Paths_waspls
|
|
hs-source-dirs:
|
|
exe
|
|
build-depends:
|
|
, base ^>=4.14.3.0
|
|
, optparse-applicative ^>=0.17.0.0
|
|
, waspls
|
|
default-language: Haskell2010
|