mirror of
https://github.com/anoma/juvix.git
synced 2024-12-29 18:43:42 +03:00
97030f8cb4
- ⚠️ Depends on #2644 The `effectful` library does not support the `Embed` effect out of the box. However, it offers `IOE`, which is equivalent to `Embed IO` from polysemy. In preparation to a possible migration to `effectful`, this pr hides the general `Embed` effect from the prelude and it exports a specialized `EmbedIO` in its place.
17 lines
586 B
Haskell
17 lines
586 B
Haskell
module Commands.Dev.Highlight where
|
|
|
|
import Commands.Base
|
|
import Commands.Dev.Highlight.Options
|
|
import Juvix.Compiler.Concrete.Data.Highlight qualified as Highlight
|
|
import Juvix.Compiler.Pipeline.Run
|
|
|
|
runCommand :: (Members '[EmbedIO, App, TaggedLock] r) => HighlightOptions -> Sem r ()
|
|
runCommand HighlightOptions {..} = do
|
|
entry <- getEntryPoint _highlightInputFile
|
|
inputFile <- fromAppPathFile _highlightInputFile
|
|
hinput <-
|
|
Highlight.filterInput
|
|
inputFile
|
|
<$> runPipelineHighlight entry upToInternalTyped
|
|
sayRaw (Highlight.highlight _highlightBackend hinput)
|