FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
OneScript/src/ScriptEngine/OneScriptCoreOptions.cs at develop · ivtroitskiy/OneScript · GitHub
ivtroitskiy
/
OneScript
Public
forked from
EvilBeaver/OneScript
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
OneScript
/
src
/
ScriptEngine
/
OneScriptCoreOptions.cs
Copy path
More file actions
More file actions
Latest commit
History
History
History
61 lines (50 loc) · 2.2 KB
Breadcrumbs
OneScript
/
src
/
ScriptEngine
/
OneScriptCoreOptions.cs
Copy path
File metadata and controls
61 lines (50 loc) · 2.2 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*----------------------------------------------------------
This Source Code Form is subject to the terms of the
Mozilla Public License, v.2.0. If a copy of the MPL
was not distributed with this file, You can obtain one
at http://mozilla.org/MPL/2.0/.
----------------------------------------------------------*/
using
System
;
using
System
.
Collections
.
Generic
;
using
System
.
Text
;
using
OneScript
.
Commons
;
using
OneScript
.
Native
.
Compiler
;
using
ScriptEngine
.
Hosting
;
namespace
ScriptEngine
{
public
class
OneScriptCoreOptions
{
private
const
string
FILE_READER_ENCODING
=
"encoding.script"
;
private
const
string
SYSTEM_LANGUAGE_KEY
=
"SystemLanguage"
;
private
const
string
PREPROCESSOR_DEFINITIONS_KEY
=
"preprocessor.define"
;
private
const
string
DEFAULT_RUNTIME_KEY
=
"runtime.default"
;
public
OneScriptCoreOptions
(
KeyValueConfig
config
)
{
SystemLanguage
=
config
[
SYSTEM_LANGUAGE_KEY
]
;
FileReaderEncoding
=
SetupEncoding
(
config
[
FILE_READER_ENCODING
]
)
;
PreprocessorDefinitions
=
SetupDefinitions
(
config
[
PREPROCESSOR_DEFINITIONS_KEY
]
)
;
UseNativeAsDefaultRuntime
=
SetupDefaultRuntime
(
config
[
DEFAULT_RUNTIME_KEY
]
)
;
}
public
string
SystemLanguage
{
get
;
}
public
Encoding
FileReaderEncoding
{
get
;
}
public
bool
UseNativeAsDefaultRuntime
{
get
;
}
public
IEnumerable
<
string
>
PreprocessorDefinitions
{
get
;
set
;
}
private
static
IEnumerable
<
string
>
SetupDefinitions
(
string
s
)
{
return
s
?
.
Split
(
','
)
??
Array
.
Empty
<
string
>
(
)
;
}
private
static
Encoding
SetupEncoding
(
string
openerEncoding
)
{
if
(
string
.
IsNullOrWhiteSpace
(
openerEncoding
)
)
return
Encoding
.
UTF8
;
if
(
StringComparer
.
InvariantCultureIgnoreCase
.
Compare
(
openerEncoding
,
"default"
)
==
0
)
return
FileOpener
.
SystemSpecificEncoding
(
)
;
else
return
Encoding
.
GetEncoding
(
openerEncoding
)
;
}
private
static
bool
SetupDefaultRuntime
(
string
runtimeId
)
{
return
runtimeId
==
NativeRuntimeAnnotationHandler
.
NativeDirectiveName
;
}
}
}
Back
|
FazBrowse Home
|
New Git URL