<commit_before>{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances, DeriveFunctor,
             TypeSynonymInstances, PatternGuards #-}

module Idris.AbsSyntaxTree where

import Core.TT
import Core.Evaluate
import Core.Elaborate hiding (Tactic(..))
import Core.Typecheck
import IRTS.Lang
import IRTS.CodegenCommon
import Util.Pretty
import Util.DynamicLinker

import Paths_idris

import System.Console.Haskeline

import Control.Monad.Trans.State.Strict

import Data.List
import Data.Char
import Data.Either

import Debug.Trace

data IOption = IOption { opt_logLevel   :: Int,
                         opt_typecase   :: Bool,
                         opt_typeintype :: Bool,
                         opt_coverage   :: Bool,
                         opt_showimp    :: Bool,
                         opt_errContext :: Bool,
                         opt_repl       :: Bool,
                         opt_verbose    :: Bool,
                         opt_quiet      :: Bool,
                         opt_target     :: Target,
                         opt_outputTy   :: OutputType,
                         opt_ibcsubdir  :: FilePath,
                         opt_importdirs :: [FilePath],
                         opt_cmdline    :: [Opt] -- remember whole command line
                       }
    deriving (Show, Eq)

defaultOpts = IOption 0 False False True False False True True False ViaC Executable "" [] []

data LanguageExt = TypeProviders deriving (Show, Eq, Read, Ord)

-- | The output mode in use
data OutputMode = RawOutput | IdeSlave Integer deriving Show
<commit_msg>changed defaultOpts to use field names for assignment<commit_after>{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances, DeriveFunctor,
             TypeSynonymInstances, PatternGuards #-}

module Idris.AbsSyntaxTree where

import Core.TT
import Core.Evaluate
import Core.Elaborate hiding (Tactic(..))
import Core.Typecheck
import IRTS.Lang
import IRTS.CodegenCommon
import Util.Pretty
import Util.DynamicLinker

import Paths_idris

import System.Console.Haskeline

import Control.Monad.Trans.State.Strict

import Data.List
import Data.Char
import Data.Either

import Debug.Trace

data IOption = IOption { opt_logLevel   :: Int,
                         opt_typecase   :: Bool,
                         opt_typeintype :: Bool,
                         opt_coverage   :: Bool,
                         opt_showimp    :: Bool,
                         opt_errContext :: Bool,
                         opt_repl       :: Bool,
                         opt_verbose    :: Bool,
                         opt_quiet      :: Bool,
                         opt_target     :: Target,
                         opt_outputTy   :: OutputType,
                         opt_ibcsubdir  :: FilePath,
                         opt_importdirs :: [FilePath],
                         opt_cmdline    :: [Opt] -- remember whole command line
                       }
    deriving (Show, Eq)

defaultOpts = IOption { opt_logLevel   = 0
                      , opt_typecase   = False
                      , opt_typeintype = False
                      , opt_coverage   = True
                      , opt_showimp    = False
                      , opt_errContext = False
                      , opt_repl       = True
                      , opt_verbose    = True
                      , opt_quiet      = False
                      , opt_target     = ViaC
                      , opt_outputTy   = Executable
                      , opt_ibcsubdir  = ""
                      , opt_importdirs = []
                      , opt_cmdline    = []
                      }

data LanguageExt = TypeProviders deriving (Show, Eq, Read, Ord)

-- | The output mode in use
data OutputMode = RawOutput | IdeSlave Integer deriving Show

{'fraction_non_alphanumeric': 0.06558682952734997, 'fraction_numerical': 0.0005310674455655868, 'mean_word_length': 1.4366106080206986, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6481374', 'n_tokens_mistral': 1011, 'n_tokens_neox': 936, 'n_words': 247}