all repos — min @ 4c2801e587c976c5b379f4700eae051198ac2239

A small but practical concatenative programming language.

Merge branch 'master' of github.com:h3rald/min
h3rald h3rald@h3rald.com
Thu, 22 Apr 2021 08:35:19 +0200
commit

4c2801e587c976c5b379f4700eae051198ac2239

parent

7fd620551f487070f95c66575485c29cbe56bd66

M .gitignore.gitignore

@@ -11,6 +11,7 @@ libdyntools*

dyntools.nim *.zip packages/ +site/assets/downloads/ site/output/ site/temp/ dynlibs/
M help.jsonhelp.json

@@ -5,11 +5,6 @@ "description": "See system",

"kind": "symbol", "name": "!" }, - "!!": { - "description": "See system!", - "kind": "symbol", - "name": "!!" - }, "!=": { "description": "Returns true if a1 is not equal to a2, false otherwise.", "kind": "symbol",

@@ -49,9 +44,10 @@ "name": "+",

"signature": "num1 num2 ==> num3" }, "-": { - "description": "See dequote", + "description": "Subtracts num2 from num1.", "kind": "symbol", - "name": "-" + "name": "-", + "signature": "num1 num2 ==> num3" }, "-inf": { "description": "Returns negative infinity.",
M min.nimblemin.nimble

@@ -13,7 +13,7 @@ installDirs = @["minpkg"]

# Dependencies -requires "nim >= 1.4.6, zippy >= 0.5.6" +requires "nim >= 1.4.4, zippy >= 0.5.6" before install: exec "nimble install -y nifty"
M min.vimmin.vim

@@ -1,7 +1,7 @@

" Vim syntax file " Language: min " Maintainer: Fabio Cevasco -" Last Change: 20 Mar 2021 +" Last Change: 21 Apr 2021 " Version: 0.35.0 if exists("b:current_syntax")

@@ -11,17 +11,17 @@

setl iskeyword=@,36-39,+,-,*,.,/,:,~,!,48-57,60-65,94-95,192-255 setl iskeyword+=^ -syntax keyword minDefaultSymbol ! != $ % & && ' * + - -> -inf . .. / : :: < <= =% =-= == ==> => =~ > >< >= >> ? @ ROOT ^ abs accept acos aes all? and any? append apply apply-interpolate args asin ask atan atime avg bind bitand bitnot bitor bitxor boolean boolean? capitalize case cd ceil chmod choose chr clear clear-stack cleave close column-print compiled? concat confirm connect cons cos cosh cp cpu crypto ctime d2r datetime ddel ddup debug decode decode-url define defined-sigil? defined-symbol? delete-sigil delete-symbol dequote dget dhas? dict dictionary? difference dip dir? dirname div dkeys download dpairs dpick drop dsdelete dset dsget dshas? dsinit dspost dsput dsquery dsread dstore dswrite dtype dup dvalues e encode encode-url env? error escape eval even? exists? exit expect expect-all expect-any expect-empty-stack fappend fatal file? filename filter find first flatten float float? floor foreach format-error fperms fread from-json from-semver from-yaml fs fsize fstats ftype fwrite get get-content get-env get-stack getchr gets hardlink harvest help hidden? http id if import in? indent indexof inf infix-dequote info insert integer integer? interpolate intersection invoke io join keep lambda lambda-bind last length line-info linrec listen ln load load-symbol log10 log2 logic loglevel loglevel? lowercase ls ls-r map map-reduce mapkey match? math md4 md5 med mkdir mod mtime mv nan net newline nip not notice now null? num number? odd? one? operator opts or ord os over parent-scope parse parse-url partition password pi pick pop pow pred prefix prefix-dequote prepend print product prompt publish put-env putchr puts quit quotation? quote quote-map quotesym r2g raise random randomize range raw-args recv recv-line reduce reject remove remove-symbol repeat replace replace-apply request require rest return reverse rm rmdir rolldown rollup round run save-symbol saved-symbols scope scope-sigils scope-symbols seal-sigil seal-symbol sealed-sigil? sealed-symbol? search search-all semver-inc-major semver-inc-minor semver-inc-patch semver? send seq set set-stack sha1 sha224 sha256 sha384 sha512 shl shorten shr sigil-help sigils sin sinh sip size sleep slice socket sort source split spread sqrt stack start-server stop-server str string string? stringlike? strip substr succ suffix sum swap swons symbol-help symbols symlink symlink? symmetric-difference sys system take tan tanh tap tau tformat time timeinfo times timestamp titleize to-json to-semver to-timestamp to-yaml trunc try type type? typealias union unless unmapkey unseal-sigil unseal-symbol unzip uppercase version warn when which while with xor zip || ~ +syntax keyword minDefaultSymbol ! != $ % & && ' * + - -> -inf . .. / : :: < <= =% =-= == ==> => =~ > >< >= >> ? @ ROOT ^ abs accept acos aes all? and any? append apply apply-interpolate args asin ask atan atime avg bind bitand bitnot bitor bitxor boolean boolean? capitalize case cd ceil chmod choose chr clear clear-stack cleave close column-print compiled? concat confirm connect cons cos cosh cp cpu crypto ctime d2r datetime ddel ddup debug decode decode-url define defined-sigil? defined-symbol? delete-sigil delete-symbol dequote dget dhas? dict dictionary? difference dip dir? dirname div dkeys download dpairs dpick drop dsdelete dset dsget dshas? dsinit dspost dsput dsquery dsread dstore dswrite dtype dup dvalues e encode encode-url env? error escape eval even? exists? exit expect expect-all expect-any expect-empty-stack fappend fatal file? filename filter find first flatten float float? floor foreach format-error fperms fread from-json from-semver from-yaml fs fsize fstats ftype fwrite get get-content get-env get-stack getchr gets hardlink harvest help hidden? http id if import in? indent indexof inf infix-dequote info insert integer integer? interpolate intersection invoke io join keep lambda lambda-bind last length line-info linrec listen ln load load-symbol log10 log2 logic loglevel loglevel? lowercase ls ls-r map map-reduce mapkey match? math md4 md5 med mkdir mod mtime mv nan net newline nip not notice now null? num number? odd? one? operator opts or ord os over parent-scope parse parse-url partition password pi pick pop pow pred prefix prefix-dequote prepend print product prompt publish put-env putchr puts quit quotation? quote quote-map quotesym r2g raise random randomize range raw-args recv recv-line reduce reject remove remove-symbol repeat replace replace-apply request require rest return reverse rm rmdir rolldown rollup round run save-symbol saved-symbols scope scope-sigils scope-symbols seal-sigil seal-symbol sealed-sigil? sealed-symbol? search search-all semver-inc-major semver-inc-minor semver-inc-patch semver? send seq set set-stack sha1 sha224 sha256 sha384 sha512 shl shorten shr sigil-help sigils sin sinh sip size sleep slice socket sort source split spread sqrt stack start-server stop-server str string string? stringlike? strip substr succ suffix sum swap swons symbol-help symbols symlink symlink? symmetric-difference sys system take tan tanh tap tau tformat time timeinfo times timestamp titleize to-json to-semver to-timestamp to-yaml trunc try type type? typealias union unless unmapkey unseal-sigil unseal-symbol unzip uppercase version warn when which while with xor zip ~ +syntax match minDefaultSymbol ;||; + +syntax keyword minCommentTodo TODO FIXME XXX TBD contained +syntax match minComment /;.*$/ contains=minCommentTodo +syntax region minComment start=;#|; end=;|#; contains=minCommentTodo syntax match minDefaultSigil ;\<[/:@'~!?$%&=<>#^*#+]; contained syntax match minQuote ;\<[']; -syntax match minQuotedBinding ;#; syntax match minBinding ;@; -syntax keyword minCommentTodo TODO FIXME XXX TBD contained -syntax match minComment /;.*$/ contains=minCommentTodo -syntax region minComment start=;#|; end=;|#; contains=minCommentTodo - syntax match minNumber ;[-+]\=\d\+\(\.\d*\)\=; syntax keyword minBoolean true false syntax region minString start=+"+ skip=+\\\\\|\\$"+ end=+"+

@@ -29,7 +29,6 @@

syntax region minSigilSymbol start=;\<[/:@'~!?$%&=<>^*#+]; end=;\>; contains=minDefaultSigil syntax region minQuotedSymbol start=;\<[']; end=;\>; contains=minQuote syntax region minBoundSymbol start=;@; end=;\>; contains=minBinding -syntax region minQuotedBoundSymbol start=;#; end=;\>; contains=minQuotedBinding syntax match minSymbol ;[a-zA-Z._][a-zA-Z0-9/!?+*._-]*; syntax match minParen ;(\|)\|{\|};

@@ -47,12 +46,10 @@ hi default link minBoolean Boolean

hi default link minDefaultSymbol Statement hi default link minQuote Delimiter hi default link minBinding Delimiter -hi default link minQuotedBinding Delimiter hi default link minDefaultSigil Delimiter hi default link minSymbol Identifier hi default link minQuotedSymbol Special hi default link minBoundSymbol Special -hi default link minQuotedBoundSymbol Special hi default link minParen Special hi default link minSharpBang Preproc
M site/contents/reference-sys.mdsite/contents/reference-sys.md

@@ -12,8 +12,6 @@ {#sig||&excl;||system#}

{#alias||&excl;||system#} -{#alias||&excl;&excl;||system!#} - {#sig||&||run#} {#alias||&||run#}
M site/rules.minsite/rules.min

@@ -63,7 +63,29 @@ ) tap

output-fwrite ) ^process-css-asset +( + "Downloading latest min executables..." notice! + settings /version :version + ("windows" "macosx" "linux") + ( + :opsys + "https://github.com/h3rald/min/releases/download/v$1/min_v$1_$2_x64.zip" (version opsys) =% :remote + "min_$#.zip" (opsys) =% :local + "wget $# -O $#" (remote local) =% :cmd + cmd run! + "assets/downloads/$#/" (opsys) =% :dir + "assets/downloads/" mkdir + "unzip %# -d %#" (local dir) =% @cmd + cmd run! + local rm + ) foreach +) ^download-latest-min-exes + ;Main + +download-latest-min-exes + +"Processing contents..." notice! contents ( (dict) expect -> dup

@@ -73,6 +95,7 @@ ((true) (process-content set-destination output-fwrite))

) case ) foreach +"Processing assets..." notice! assets ( (dict) expect -> dup
M tasks/build.mintasks/build.min

@@ -81,7 +81,7 @@ (

config /version :min-version "tasks/data/min.vim" fread :template timestamp "dd MMM YYYY" tformat :date - min-symbols " " join :symbols + min-symbols ("||" !=) filter " " join :symbols "min.vim" :out-file "Building - min.vim" notice! template ("date" date "version" min-version "symbols" symbols) =% out-file fwrite
M tasks/data/min.vimtasks/data/min.vim

@@ -12,16 +12,16 @@ setl iskeyword=@,36-39,+,-,*,.,/,:,~,!,48-57,60-65,94-95,192-255

setl iskeyword+=^ syntax keyword minDefaultSymbol $symbols +syntax match minDefaultSymbol ;||; + +syntax keyword minCommentTodo TODO FIXME XXX TBD contained +syntax match minComment /;.*$$/ contains=minCommentTodo +syntax region minComment start=;#|; end=;|#; contains=minCommentTodo syntax match minDefaultSigil ;\<[/:@'~!?$$%&=<>#^*#+]; contained syntax match minQuote ;\<[']; -syntax match minQuotedBinding ;#; syntax match minBinding ;@; -syntax keyword minCommentTodo TODO FIXME XXX TBD contained -syntax match minComment /;.*$$/ contains=minCommentTodo -syntax region minComment start=;#|; end=;|#; contains=minCommentTodo - syntax match minNumber ;[-+]\=\d\+\(\.\d*\)\=; syntax keyword minBoolean true false syntax region minString start=+"+ skip=+\\\\\|\\$$"+ end=+"+

@@ -29,7 +29,6 @@

syntax region minSigilSymbol start=;\<[/:@'~!?$$%&=<>^*#+]; end=;\>; contains=minDefaultSigil syntax region minQuotedSymbol start=;\<[']; end=;\>; contains=minQuote syntax region minBoundSymbol start=;@; end=;\>; contains=minBinding -syntax region minQuotedBoundSymbol start=;#; end=;\>; contains=minQuotedBinding syntax match minSymbol ;[a-zA-Z._][a-zA-Z0-9/!?+*._-]*; syntax match minParen ;(\|)\|{\|};

@@ -47,12 +46,10 @@ hi default link minBoolean Boolean

hi default link minDefaultSymbol Statement hi default link minQuote Delimiter hi default link minBinding Delimiter -hi default link minQuotedBinding Delimiter hi default link minDefaultSigil Delimiter hi default link minSymbol Identifier hi default link minQuotedSymbol Special hi default link minBoundSymbol Special -hi default link minQuotedBoundSymbol Special hi default link minParen Special hi default link minSharpBang Preproc