├── .dockerignore
├── src
├── util
│ ├── js
│ │ ├── LockFile.js
│ │ ├── SecureRandomPeer.js
│ │ ├── SeededRandomPeer.js
│ │ ├── IntArray.js
│ │ ├── BoolArray.js
│ │ └── FloatArray.js
│ └── es
│ │ ├── SecureRandomPeer.js
│ │ ├── SeededRandomPeer.js
│ │ └── BoolArray.js
├── testNative
│ ├── res
│ │ └── foo.txt
│ ├── java
│ │ └── Foo.java
│ └── fan
│ │ └── NativeClass.fan
├── testSys
│ ├── res
│ │ ├── podtest.props
│ │ └── test.txt
│ ├── locale
│ │ ├── es-MX.props
│ │ ├── en-US.props
│ │ ├── es.props
│ │ └── en.props
│ ├── concurrent
│ │ └── locale
│ │ │ └── fr.props
│ └── fan
│ │ └── Facets.fan
├── .dockerignore
├── sys
│ ├── locale
│ │ ├── en-AU.props
│ │ ├── en-IE.props
│ │ ├── en-NZ.props
│ │ ├── en-GB.props
│ │ ├── en-US.props
│ │ ├── zh.props
│ │ ├── ja.props
│ │ ├── pa.props
│ │ ├── kn.props
│ │ ├── ku.props
│ │ ├── tl.props
│ │ ├── ko.props
│ │ ├── gu.props
│ │ ├── ar.props
│ │ ├── lo.props
│ │ ├── he.props
│ │ ├── mg.props
│ │ ├── nn.props
│ │ ├── sr.props
│ │ ├── mr.props
│ │ ├── sd.props
│ │ ├── ur.props
│ │ ├── ms.props
│ │ ├── tg.props
│ │ ├── kk.props
│ │ ├── th.props
│ │ ├── ta.props
│ │ ├── uz.props
│ │ ├── km.props
│ │ ├── es.props
│ │ ├── fa.props
│ │ ├── om.props
│ │ ├── hi.props
│ │ ├── ne.props
│ │ ├── pt.props
│ │ ├── sl.props
│ │ ├── ml.props
│ │ ├── hr.props
│ │ ├── id.props
│ │ ├── cs.props
│ │ ├── it.props
│ │ ├── tr.props
│ │ ├── bg.props
│ │ ├── da.props
│ │ ├── de.props
│ │ ├── mn.props
│ │ ├── pl.props
│ │ ├── sk.props
│ │ ├── sv.props
│ │ ├── ro.props
│ │ ├── nb.props
│ │ ├── uk.props
│ │ ├── fr.props
│ │ ├── hu.props
│ │ ├── ru.props
│ │ ├── te.props
│ │ └── bn.props
│ ├── dotnet
│ │ ├── fan
│ │ │ └── sys
│ │ │ │ ├── Facet.cs
│ │ │ │ ├── Void.cs
│ │ │ │ ├── This.cs
│ │ │ │ ├── Js.cs
│ │ │ │ ├── Number.cs
│ │ │ │ ├── NoDoc.cs
│ │ │ │ ├── Operator.cs
│ │ │ │ ├── Transient.cs
│ │ │ │ ├── Service.cs
│ │ │ │ ├── Unsafe.cs
│ │ │ │ ├── FacetMeta.cs
│ │ │ │ └── Deprecated.cs
│ │ └── fanx
│ │ │ ├── serial
│ │ │ └── Literal.cs
│ │ │ ├── fcode
│ │ │ ├── FDoc.cs
│ │ │ ├── FField.cs
│ │ │ └── FSlot.cs
│ │ │ └── tools
│ │ │ └── Fanp.cs
│ ├── js
│ │ └── fan
│ │ │ ├── Void.js
│ │ │ ├── Zip.js
│ │ │ ├── This.js
│ │ │ ├── Service.js
│ │ │ ├── LocalFileStore.js
│ │ │ └── Endian.js
│ ├── java
│ │ ├── fan
│ │ │ └── sys
│ │ │ │ ├── Facet.java
│ │ │ │ ├── Void.java
│ │ │ │ ├── This.java
│ │ │ │ ├── NoDoc.java
│ │ │ │ ├── Js.java
│ │ │ │ ├── Operator.java
│ │ │ │ ├── Transient.java
│ │ │ │ ├── FileStore.java
│ │ │ │ ├── Unsafe.java
│ │ │ │ ├── FacetMeta.java
│ │ │ │ └── Deprecated.java
│ │ ├── fanx
│ │ │ ├── test
│ │ │ │ ├── TestAnnoA.java
│ │ │ │ └── TestAnnoB.java
│ │ │ ├── serial
│ │ │ │ └── Literal.java
│ │ │ ├── interop
│ │ │ │ ├── IntArray.java
│ │ │ │ ├── ByteArray.java
│ │ │ │ ├── CharArray.java
│ │ │ │ ├── LongArray.java
│ │ │ │ ├── FloatArray.java
│ │ │ │ ├── ShortArray.java
│ │ │ │ ├── DoubleArray.java
│ │ │ │ └── BooleanArray.java
│ │ │ └── fcode
│ │ │ │ ├── FField.java
│ │ │ │ └── FSlot.java
│ │ └── build.fan
│ ├── fan
│ │ ├── Facet.fan
│ │ ├── Endian.fan
│ │ ├── Void.fan
│ │ ├── LogLevel.fan
│ │ ├── This.fan
│ │ ├── ArgErr.fan
│ │ ├── Unsafe.fan
│ │ ├── CastErr.fan
│ │ ├── IndexErr.fan
│ │ ├── UnsupportedErr.fan
│ │ ├── UnknownPodErr.fan
│ │ ├── UnknownKeyErr.fan
│ │ ├── UnknownSlotErr.fan
│ │ ├── UnknownTypeErr.fan
│ │ ├── UnresolvedErr.fan
│ │ ├── IOErr.fan
│ │ ├── TimeoutErr.fan
│ │ ├── ConstErr.fan
│ │ ├── InterruptedErr.fan
│ │ ├── NameErr.fan
│ │ ├── CancelledErr.fan
│ │ ├── FieldNotSetErr.fan
│ │ ├── ReadonlyErr.fan
│ │ ├── ParseErr.fan
│ │ ├── UnknownFacetErr.fan
│ │ ├── NotImmutableErr.fan
│ │ ├── UnknownServiceErr.fan
│ │ └── NullErr.fan
│ └── es
│ │ └── fan
│ │ ├── Service.js
│ │ ├── This.js
│ │ ├── Process.js
│ │ ├── Void.js
│ │ ├── Unsafe.js
│ │ ├── UriScheme.js
│ │ └── FileStore.js
├── testGraphics
│ ├── res
│ │ ├── test.jpg
│ │ ├── test.png
│ │ └── test.svg
│ └── fan
│ │ ├── Main.fan
│ │ ├── AbstractTest.fan
│ │ └── ColorsTest.fan
├── doc
│ ├── docLang
│ │ ├── doc
│ │ │ └── deployment.png
│ │ └── build.fan
│ ├── docDomkit
│ │ ├── doc
│ │ │ ├── Modal-Popup-1.png
│ │ │ ├── Control-Button-1.png
│ │ │ ├── Control-Combo-1.png
│ │ │ ├── Control-Menu-1.png
│ │ │ ├── Control-Table-1.png
│ │ │ ├── Control-Tree-1.png
│ │ │ ├── Layout-CardBox.png
│ │ │ ├── Layout-FlowBox-1.png
│ │ │ ├── Layout-FlowBox-2.png
│ │ │ ├── Layout-FlowBox-3.png
│ │ │ ├── Layout-GridBox.png
│ │ │ ├── Layout-WellBox-1.png
│ │ │ ├── Modal-Dialog-1.png
│ │ │ ├── Control-Checkbox-1.png
│ │ │ ├── Control-TextArea-1.png
│ │ │ ├── Control-ListButton-1.png
│ │ │ ├── Control-ListButton-2.png
│ │ │ ├── Control-ProgressBar-1.png
│ │ │ ├── Control-RadioButton-1.png
│ │ │ ├── Control-TextField-1.png
│ │ │ ├── Control-ToggleButton-1.png
│ │ │ └── index.fog
│ │ └── build.fan
│ ├── build.fan
│ ├── docFanr
│ │ ├── doc
│ │ │ └── index.fog
│ │ └── build.fan
│ ├── docTools
│ │ ├── build.fan
│ │ └── doc
│ │ │ └── index.fog
│ └── docIntro
│ │ ├── build.fan
│ │ └── doc
│ │ └── index.fog
├── fansc
│ ├── FanSc
│ │ └── App.config
│ └── build.fan
├── domkit
│ ├── css
│ │ ├── Label.css
│ │ ├── CardBox.css
│ │ ├── FlowBox.css
│ │ ├── ScrollBox.css
│ │ ├── ProgressBar.css
│ │ ├── AccordianBox.css
│ │ ├── TextArea.css
│ │ ├── WellBox.css
│ │ ├── FlexBox.css
│ │ ├── Box.css
│ │ ├── SashBox.css
│ │ ├── TextField.css
│ │ ├── GridBox.css
│ │ ├── Button.css
│ │ ├── Dnd.css
│ │ ├── Sheet.css
│ │ ├── Menu.css
│ │ ├── Popup.css
│ │ ├── Checkbox.css
│ │ ├── RadioButton.css
│ │ ├── ListButton.css
│ │ └── Combo.css
│ ├── fan
│ │ ├── Dir.fan
│ │ ├── Align.fan
│ │ ├── Label.fan
│ │ ├── Box.fan
│ │ ├── ScrollBox.fan
│ │ └── Link.fan
│ └── pod.fandoc
├── testJava
│ ├── fan
│ │ ├── JavaImplTest.fan
│ │ └── JavaTest.fan
│ └── java
│ │ └── JavaImplTestPeer.java
├── asn1
│ └── fan
│ │ └── AsnErr.fan
├── markdown
│ ├── test
│ │ ├── DelimiterProcessorTest.fan
│ │ └── ThematicBreakParserTest.fan
│ └── fan
│ │ └── parser
│ │ └── block
│ │ └── DocumentBlockParser.fan
├── sql
│ ├── fan
│ │ └── SqlErr.fan
│ └── java
│ │ └── Cols.java
├── testDomkit
│ └── res
│ │ ├── info-white.svg
│ │ └── info-grey.svg
├── build
│ └── fan
│ │ ├── BuildLog.fan
│ │ ├── FatalBuildErr.fan
│ │ ├── Facets.fan
│ │ └── tasks
│ │ ├── Delete.fan
│ │ └── CreateDir.fan
├── concurrent
│ ├── es
│ │ ├── ActorFuture.js
│ │ ├── Lock.js
│ │ ├── Actor.js
│ │ └── AtomicBoolPeer.js
│ ├── js
│ │ ├── Lock.js
│ │ ├── ActorFuture.js
│ │ └── Future.js
│ └── fan
│ │ └── Errs.fan
├── nodeJs
│ ├── res
│ │ ├── testRunnerTemplate.js
│ │ └── scriptRunnerTemplate.js
│ └── fan
│ │ └── Main.fan
├── dom
│ ├── fan
│ │ ├── TextSel.fan
│ │ ├── DomImage.fan
│ │ └── WeakMap.fan
│ ├── es
│ │ ├── TextSelPeer.js
│ │ ├── WeakMapPeer.js
│ │ └── DomImagePeer.js
│ ├── js
│ │ ├── TextSelPeer.js
│ │ └── WeakMapPeer.js
│ └── java
│ │ ├── HttpReqPeer.java
│ │ └── QuerySelector.java
├── inet
│ └── fan
│ │ └── UnknownHostErr.fan
├── crypto
│ └── fan
│ │ ├── Csr.fan
│ │ └── Jwk.fan
├── graphics
│ └── fan
│ │ └── Paint.fan
├── compilerJs
│ ├── res
│ │ └── scriptRunnerTemplate.js
│ └── fan
│ │ ├── ast
│ │ ├── JsFacet.fan
│ │ └── JsBlock.fan
│ │ └── util
│ │ └── JsExtToMime.fan
├── math
│ ├── fan
│ │ └── Math.fan
│ ├── test
│ │ └── BigIntTest.fan
│ └── pod.fandoc
├── fandoc
│ ├── fan
│ │ ├── FandocErr.fan
│ │ └── DocWriter.fan
│ └── build.fan
├── xml
│ ├── fan
│ │ └── XIncompleteErr.fan
│ └── build.fan
├── cryptoJava
│ ├── fan
│ │ ├── JDigest.fan
│ │ └── X509.fan
│ └── test
│ │ └── DnTest.fan
├── web
│ └── test
│ │ └── FilePackTest.fan
├── compilerEs
│ └── fan
│ │ └── util
│ │ └── JsExtToMime.fan
├── email
│ ├── fan
│ │ └── SmtpErr.fan
│ └── build.fan
├── compiler
│ └── fan
│ │ ├── namespace
│ │ └── CDepend.fan
│ │ └── CompilerErr.fan
└── fansh
│ └── build.fan
├── bin
├── fansc.exe
├── nstub.exe
├── fan
├── fanr
├── flux
├── jstub
├── fanp
├── fansh
├── fanc
├── fant
├── flux.bat
├── fanc.bat
├── fansh.bat
├── fanr.bat
├── jstub.bat
├── fanp.bat
├── fant.bat
├── fan.bat
└── fansubstitute
├── etc
├── sys
│ ├── timezones.ftz
│ └── log.props
├── sql
│ └── config.props
├── syntax
│ ├── syntax-batch.fog
│ ├── syntax-yaml.fog
│ ├── syntax-shell.fog
│ ├── syntax-css.fog
│ ├── syntax-xeto.fog
│ ├── syntax-xml.fog
│ └── syntax-axon.fog
├── fanr
│ └── config.props
└── build
│ └── config.props
├── examples
├── java
│ └── hello.fan
└── web
│ ├── demo
│ └── index.html
│ └── hello.fan
├── adm
├── unixsetup
├── tools
│ └── atom
│ │ └── install.fan
└── filereplace.fan
└── .gitignore
/.dockerignore:
--------------------------------------------------------------------------------
1 | dockerfile
--------------------------------------------------------------------------------
/src/util/js/LockFile.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/testNative/res/foo.txt:
--------------------------------------------------------------------------------
1 | wombat
--------------------------------------------------------------------------------
/src/testSys/res/podtest.props:
--------------------------------------------------------------------------------
1 | barney=stinson
--------------------------------------------------------------------------------
/src/.dockerignore:
--------------------------------------------------------------------------------
1 | .dockerignore
2 | dockerfile
--------------------------------------------------------------------------------
/src/testSys/res/test.txt:
--------------------------------------------------------------------------------
1 | hello world
2 | line 2
--------------------------------------------------------------------------------
/src/testSys/locale/es-MX.props:
--------------------------------------------------------------------------------
1 | // en.props
2 |
3 | a=a es-MX
4 |
5 |
--------------------------------------------------------------------------------
/src/testSys/locale/en-US.props:
--------------------------------------------------------------------------------
1 | // en.props
2 |
3 | a=a en-US
4 |
5 |
6 |
--------------------------------------------------------------------------------
/bin/fansc.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/bin/fansc.exe
--------------------------------------------------------------------------------
/bin/nstub.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/bin/nstub.exe
--------------------------------------------------------------------------------
/etc/sys/timezones.ftz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/etc/sys/timezones.ftz
--------------------------------------------------------------------------------
/src/testSys/locale/es.props:
--------------------------------------------------------------------------------
1 | // en.props
2 |
3 | a=a es
4 | b=b es
5 | c=c es
6 | e=e es
7 |
8 |
--------------------------------------------------------------------------------
/src/sys/locale/en-AU.props:
--------------------------------------------------------------------------------
1 | //
2 | // sys::en-AU.props English Australia
3 | //
4 |
5 | weekdayStart=mon
--------------------------------------------------------------------------------
/src/sys/locale/en-IE.props:
--------------------------------------------------------------------------------
1 | //
2 | // sys::en-IE.props English Ireland
3 | //
4 |
5 | weekdayStart=mon
--------------------------------------------------------------------------------
/src/testSys/concurrent/locale/fr.props:
--------------------------------------------------------------------------------
1 | // fr.props
2 |
3 | q=q fr
4 | p=p fr
5 | r=r fr
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/sys/locale/en-NZ.props:
--------------------------------------------------------------------------------
1 | //
2 | // sys::en-NZ.props English New Zealand
3 | //
4 |
5 | weekdayStart=mon
--------------------------------------------------------------------------------
/src/sys/locale/en-GB.props:
--------------------------------------------------------------------------------
1 | //
2 | // sys::en-GB.props English Great Britain / UK
3 | //
4 |
5 | weekdayStart=mon
--------------------------------------------------------------------------------
/src/testGraphics/res/test.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/testGraphics/res/test.jpg
--------------------------------------------------------------------------------
/src/testGraphics/res/test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/testGraphics/res/test.png
--------------------------------------------------------------------------------
/src/testSys/locale/en.props:
--------------------------------------------------------------------------------
1 | // en.props
2 |
3 | a=a en
4 | b=b en
5 | c=c en
6 | d=d en
7 | e=e en
8 | f=f en
--------------------------------------------------------------------------------
/src/doc/docLang/doc/deployment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docLang/doc/deployment.png
--------------------------------------------------------------------------------
/bin/fan:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | #
4 | # fan: launcher for Fan programs
5 | #
6 |
7 | . "${0%/*}/fanlaunch"
8 | fanlaunch Fan "$@"
9 |
--------------------------------------------------------------------------------
/bin/fanr:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | #
4 | # fanr: Fan Repository Manager
5 | #
6 |
7 | . "${0%/*}/fanlaunch"
8 | fanlaunch Fan fanr "$@"
--------------------------------------------------------------------------------
/bin/flux:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | #
4 | # flux: Fan Developer UI
5 | #
6 |
7 | . "${0%/*}/fanlaunch"
8 | fanlaunch Fan flux "$@"
9 |
--------------------------------------------------------------------------------
/bin/jstub:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | #
4 | # jstub: launcher for JStub program
5 | #
6 |
7 | . "${0%/*}/fanlaunch"
8 | fanlaunch Jstub "$@"
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Modal-Popup-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Modal-Popup-1.png
--------------------------------------------------------------------------------
/bin/fanp:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | #
4 | # fanp: fcode disassembler
5 | #
6 |
7 | . "${0%/*}/fanlaunch"
8 | fanlaunch Fan "compiler::Fanp" "$@"
--------------------------------------------------------------------------------
/bin/fansh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | #
4 | # fansh: interactive shell
5 | #
6 |
7 | . "${0%/*}/fanlaunch"
8 | fanlaunch Fan fansh "$@"
9 |
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Control-Button-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Control-Button-1.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Control-Combo-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Control-Combo-1.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Control-Menu-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Control-Menu-1.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Control-Table-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Control-Table-1.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Control-Tree-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Control-Tree-1.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Layout-CardBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Layout-CardBox.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Layout-FlowBox-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Layout-FlowBox-1.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Layout-FlowBox-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Layout-FlowBox-2.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Layout-FlowBox-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Layout-FlowBox-3.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Layout-GridBox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Layout-GridBox.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Layout-WellBox-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Layout-WellBox-1.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Modal-Dialog-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Modal-Dialog-1.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Control-Checkbox-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Control-Checkbox-1.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Control-TextArea-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Control-TextArea-1.png
--------------------------------------------------------------------------------
/bin/fanc:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | #
4 | # fanc: Fan Compiler tools
5 | #
6 |
7 | . "${0%/*}/fanlaunch"
8 | fanlaunch Fan fanc "$@"
9 |
10 |
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Control-ListButton-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Control-ListButton-1.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Control-ListButton-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Control-ListButton-2.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Control-ProgressBar-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Control-ProgressBar-1.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Control-RadioButton-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Control-RadioButton-1.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Control-TextField-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Control-TextField-1.png
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/Control-ToggleButton-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fantom-lang/fantom/HEAD/src/doc/docDomkit/doc/Control-ToggleButton-1.png
--------------------------------------------------------------------------------
/etc/sys/log.props:
--------------------------------------------------------------------------------
1 | //
2 | // log.props
3 | //
4 | // LogLevels: debug, info, warn, err, silent
5 | //
6 |
7 | // typedb=debug
8 | // web=err
9 |
10 |
11 |
--------------------------------------------------------------------------------
/bin/fant:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | #
4 | # fant: unit tester
5 | #
6 |
7 | # To run original Java version:
8 | # fanlaunch Fant "$@"
9 |
10 | . "${0%/*}/fanlaunch"
11 | fanlaunch Fan "util::TestRunner" "$@"
12 |
13 |
--------------------------------------------------------------------------------
/src/fansc/FanSc/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/domkit/css/Label.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2015, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 4 Nov 2015 Andy Frank Creation
7 | //
8 |
9 | span.domkit-Label {}
10 |
--------------------------------------------------------------------------------
/src/domkit/css/CardBox.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2015, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 19 Mar 2015 Andy Frank Creation
7 | //
8 |
9 | div.domkit-CardBox {
10 | }
--------------------------------------------------------------------------------
/src/domkit/css/FlowBox.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2015, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 12 Aug 2015 Andy Frank Creation
7 | //
8 |
9 | div.domkit-FlowBox {
10 | }
--------------------------------------------------------------------------------
/src/util/es/SecureRandomPeer.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 17 Mar 2023 Matthew Giannini Creation
7 | //
8 |
9 | /**
10 | * SecureRandom.
11 | */
--------------------------------------------------------------------------------
/src/util/es/SeededRandomPeer.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 17 Mar 2023 Matthew Giannini Creation
7 | //
8 |
9 | /**
10 | * SeededRandom.
11 | */
--------------------------------------------------------------------------------
/src/util/js/SecureRandomPeer.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 17 Mar 2023 Matthew Giannini Creation
7 | //
8 |
9 | /**
10 | * SecureRandom.
11 | */
--------------------------------------------------------------------------------
/src/util/js/SeededRandomPeer.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 17 Mar 2023 Matthew Giannini Creation
7 | //
8 |
9 | /**
10 | * SeededRandom.
11 | */
--------------------------------------------------------------------------------
/src/domkit/css/ScrollBox.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 22 Dec 2014 Andy Frank Creation
7 | //
8 |
9 | div.domkit-ScrollBox {
10 | overflow: auto;
11 | }
--------------------------------------------------------------------------------
/src/domkit/css/ProgressBar.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 12 May 2016 Andy Frank Creation
7 | //
8 |
9 | div.domkit-ProgressBar {
10 | width: 200px;
11 | }
--------------------------------------------------------------------------------
/src/sys/dotnet/fan/sys/Facet.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 03 Feb 10 Brian Frank Creation
7 | //
8 |
9 | namespace Fan.Sys
10 | {
11 | public interface Facet
12 | {
13 | }
14 | }
--------------------------------------------------------------------------------
/src/domkit/css/AccordianBox.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 17 Jun 2016 Andy Frank Creation
7 | //
8 |
9 | div.domkit-AccordionBox {
10 | overflow-x: hidden;
11 | overflow-y: auto;
12 | }
--------------------------------------------------------------------------------
/bin/flux.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | REM
3 | REM Copyright (c) 2015, Brian Frank and Andy Frank
4 | REM Licensed under the Academic Free License version 3.0
5 | REM
6 | REM History:
7 | REM 27 Jul 2015 Matthew Giannini Creation
8 | REM
9 | REM flux: Fantom Developer UI
10 | REM
11 |
12 | call "%~fs0\..\fanlaunch.bat" Fan flux %*
13 |
--------------------------------------------------------------------------------
/src/domkit/css/TextArea.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 21 Dec 2014 Andy Frank Creation
7 | //
8 |
9 | textarea.domkit-TextArea {
10 | width: 100%;
11 | height: 100%;
12 | outline: none;
13 | }
14 |
--------------------------------------------------------------------------------
/src/domkit/css/WellBox.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2017, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 14 Mar 2017 Andy Frank Creation
7 | //
8 |
9 | div.domkit-WellBox {
10 | background: #e5e5e5;
11 | border-radius: 4px;
12 | padding: 10px;
13 | }
--------------------------------------------------------------------------------
/bin/fanc.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | REM
3 | REM Copyright (c) 2025, Brian Frank and Andy Frank
4 | REM Licensed under the Academic Free License version 3.0
5 | REM
6 | REM History:
7 | REM 12 May 2025 Brian Frank Creation
8 | REM
9 | REM fanr: Fantom compiler tools
10 | REM
11 |
12 | call "%~fs0\..\fanlaunch.bat" Fan fanc %*
13 |
14 |
--------------------------------------------------------------------------------
/bin/fansh.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | REM
3 | REM Copyright (c) 2015, Brian Frank and Andy Frank
4 | REM Licensed under the Academic Free License version 3.0
5 | REM
6 | REM History:
7 | REM 27 Jul 2015 Matthew Giannini Creation
8 | REM
9 | REM fansh: interactive shell
10 | REM
11 |
12 | call "%~fs0\..\fanlaunch.bat" Fan fansh %*
13 |
--------------------------------------------------------------------------------
/bin/fanr.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | REM
3 | REM Copyright (c) 2015, Brian Frank and Andy Frank
4 | REM Licensed under the Academic Free License version 3.0
5 | REM
6 | REM History:
7 | REM 27 Jul 2015 Matthew Giannini Creation
8 | REM
9 | REM fanr: Fantom repository manager
10 | REM
11 |
12 | call "%~fs0\..\fanlaunch.bat" Fan fanr %*
13 |
--------------------------------------------------------------------------------
/bin/jstub.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | REM
3 | REM Copyright (c) 2015, Brian Frank and Andy Frank
4 | REM Licensed under the Academic Free License version 3.0
5 | REM
6 | REM History:
7 | REM 27 Jul 2015 Matthew Giannini Creation
8 | REM
9 | REM jstub: launcher for JStub program
10 | REM
11 |
12 | call "%~fs0\..\fanlaunch.bat" Jstub %*
13 |
--------------------------------------------------------------------------------
/bin/fanp.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | REM
3 | REM Copyright (c) 2015, Brian Frank and Andy Frank
4 | REM Licensed under the Academic Free License version 3.0
5 | REM
6 | REM History:
7 | REM 27 Jul 2015 Matthew Giannini Creation
8 | REM
9 | REM fanp: fcode disassembler
10 | REM
11 |
12 | call "%~fs0\..\fanlaunch.bat" Fan "compiler::Fanp" %*
13 |
--------------------------------------------------------------------------------
/bin/fant.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | REM
3 | REM Copyright (c) 2015, Brian Frank and Andy Frank
4 | REM Licensed under the Academic Free License version 3.0
5 | REM
6 | REM History:
7 | REM 27 Jul 2015 Matthew Giannini Creation
8 | REM
9 | REM fant: unit tester
10 | REM
11 |
12 | call "%~fs0\..\fanlaunch.bat" Fan "util::TestRunner" %*
13 |
14 |
--------------------------------------------------------------------------------
/src/sys/locale/en-US.props:
--------------------------------------------------------------------------------
1 | //
2 | // sys::en-US.props
3 | //
4 |
5 | //////////////////////////////////////////////////////////////////////////
6 | // DateTime (use PM)
7 | //////////////////////////////////////////////////////////////////////////
8 |
9 | // default toLocale patterns
10 | dateTime=D-MMM-YYYY WWW k:mm:ssAA zzz
11 | time=k:mmAA
--------------------------------------------------------------------------------
/bin/fan.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | REM
3 | REM Copyright (c) 2015, Brian Frank and Andy Frank
4 | REM Licensed under the Academic Free License version 3.0
5 | REM
6 | REM History:
7 | REM 27 Jul 2015 Matthew Giannini Creation
8 | REM
9 | REM fan: launcher for Fantom programs
10 | REM
11 |
12 | call "%~fs0\..\fanlaunch.bat" Fan %*
13 | EXIT /B %errorlevel%
14 |
--------------------------------------------------------------------------------
/src/domkit/css/FlexBox.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 19 Dec 2014 Andy Frank Creation
7 | //
8 |
9 | div.domkit-FlexBox {
10 | display: -webkit-flex;
11 | display: -moz-flex;
12 | display: -ms-flex;
13 | display: flex;
14 | }
--------------------------------------------------------------------------------
/src/testNative/java/Foo.java:
--------------------------------------------------------------------------------
1 |
2 | package bar.baz;
3 |
4 | import fan.sys.*;
5 |
6 | public class Foo
7 | {
8 |
9 | public Date today() { return Date.today(); }
10 |
11 | public String toString() { return getClass().getName(); }
12 |
13 | public static class Inner
14 | {
15 | public String toString() { return "Foo.Inner!"; }
16 | }
17 |
18 | }
--------------------------------------------------------------------------------
/src/domkit/css/Box.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 19 Dec 2014 Andy Frank Creation
7 | //
8 |
9 | div.domkit-Box {
10 | display: block;
11 | box-sizing: border-box;
12 | position: relative;
13 | width: 100%;
14 | height: 100%;
15 | }
--------------------------------------------------------------------------------
/src/sys/js/fan/Void.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 3 Dec 09 Andy Frank Creation
7 | //
8 |
9 | /**
10 | * Void
11 | */
12 | fan.sys.Void = function() {};
13 | fan.sys.Void.prototype.$typeof = function() { return fan.sys.Void.$type; }
14 |
15 |
--------------------------------------------------------------------------------
/src/testJava/fan/JavaImplTest.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2025, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 19 May 25 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** Run the tests written in Java itself
11 | **
12 | class JavaImplTest : Test
13 | {
14 | native Void test()
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/src/testJava/fan/JavaTest.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2008, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 20 Nov 08 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** Base class for Java compiler tests.
11 | **
12 | abstract class JavaTest : testCompiler::CompilerTest
13 | {
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/src/sys/java/fan/sys/Facet.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 03 Feb 10 Brian Frank Creation
7 | //
8 | package fan.sys;
9 |
10 | /**
11 | * Facet is a mixin included into every facet type.
12 | */
13 | public interface Facet
14 | {
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/src/domkit/css/SashBox.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2015, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 6 Jun 2015 Andy Frank Creation
7 | //
8 |
9 | div.domkit-SashBox {
10 | overflow: hidden; /* required for dir=right */
11 | position: relative;
12 | }
13 |
14 | div.domkit-SashBox-div {}
15 |
--------------------------------------------------------------------------------
/src/domkit/css/TextField.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 21 Dec 2014 Andy Frank Creation
7 | //
8 |
9 | input.domkit-TextField {
10 | outline: none;
11 | }
12 |
13 | input.domkit-TextField[type='password'] {
14 | font-family: sans-serif;
15 | }
16 |
--------------------------------------------------------------------------------
/src/sys/fan/Facet.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 03 Feb 10 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** Facet is a mixin included into every facet type.
11 | **
12 | ** See `docLang::Facets` for details.
13 | **
14 | const mixin Facet
15 | {
16 | }
17 |
--------------------------------------------------------------------------------
/src/sys/java/fanx/test/TestAnnoA.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 10 Sep 10 Brian Frank Creation
7 | //
8 | package fanx.test;
9 |
10 | import java.lang.annotation.*;
11 |
12 | @Retention(RetentionPolicy.RUNTIME)
13 | public @interface TestAnnoA
14 | {
15 | }
--------------------------------------------------------------------------------
/src/asn1/fan/AsnErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2021, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 05 Aug 2021 Matthew Giannini Creation
7 | //
8 |
9 | **
10 | ** A general ASN.1 error
11 | **
12 | const class AsnErr : Err
13 | {
14 | new make(Str msg := "", Err? cause := null) : super(msg, cause) { }
15 | }
16 |
--------------------------------------------------------------------------------
/src/domkit/css/GridBox.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2015, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 15 Feb 2015 Andy Frank Creation
7 | //
8 |
9 | div.domkit-GridBox {
10 | }
11 |
12 | div.domkit-GridBox table {
13 | border-collapse: collapse;
14 | }
15 |
16 | div.domkit-GridBox table td {
17 | padding: 0;
18 | }
--------------------------------------------------------------------------------
/src/domkit/fan/Dir.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2015, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 7 Oct 2015 Andy Frank Creation
7 | //
8 |
9 | using dom
10 |
11 | **
12 | ** Direction enums: up, down, left, right
13 | **
14 | @Js enum class Dir
15 | {
16 | up,
17 | down,
18 | left,
19 | right
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/src/sys/es/fan/Service.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 17 Mar 2023 Matthew Giannini Creation
7 | // 25 Apr 2023 Matthew Giannini Refactor for ES
8 | //
9 |
10 | /**
11 | * Service.
12 | */
13 | class Service extends Obj {
14 | constructor() { super(); }
15 |
16 | }
--------------------------------------------------------------------------------
/src/sys/es/fan/This.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 15 Mar 2010 Andy Frank Creation
7 | // 13 Apr 2023 Matthew Giannini Refactor for ES
8 | //
9 |
10 | /**
11 | * This.
12 | */
13 | class This extends Obj {
14 | constructor() { super(); }
15 |
16 | }
17 |
18 |
--------------------------------------------------------------------------------
/src/domkit/css/Button.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 19 Dec 2014 Andy Frank Creation
7 | //
8 |
9 | div.domkit-Button {
10 | outline: none;
11 | }
12 |
13 | div.domkit-Button:focus {
14 | z-index: 2;
15 | position: relative; /* needed to make z-index work */
16 | }
17 |
--------------------------------------------------------------------------------
/src/sys/java/fan/sys/Void.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 4 Dec 05 Brian Frank Creation
7 | //
8 | package fan.sys;
9 |
10 | /**
11 | * Void is the absence of a type.
12 | */
13 | public class Void
14 | {
15 |
16 | public Type typeof() { return Sys.VoidType; }
17 |
18 | }
--------------------------------------------------------------------------------
/src/sys/java/fanx/test/TestAnnoB.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 10 Sep 10 Brian Frank Creation
7 | //
8 | package fanx.test;
9 |
10 | import java.lang.annotation.*;
11 |
12 | @Retention(RetentionPolicy.RUNTIME)
13 | public @interface TestAnnoB
14 | {
15 | String value();
16 | }
--------------------------------------------------------------------------------
/src/util/es/BoolArray.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 17 Mar 2023 Matthew Giannini Creation
7 | // 11 Jul 2023 Matthew Giannini Refactor for ES
8 | //
9 |
10 | /**
11 | * BoolArray.
12 | */
13 | class BoolArray extends sys.Obj {
14 | typeof() { return BoolArray.type$; }
15 | }
--------------------------------------------------------------------------------
/bin/fansubstitute:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | #
4 | # fan: launcher for Fan using an alternate installation
5 | # this script is used during bootstrap build
6 | #
7 |
8 | if [ -z "$FAN_SUBSTITUTE" -o ! -d "$FAN_SUBSTITUTE" ] ; then
9 | echo ERROR: must export the FAN_SUBSTITUTE env variable
10 | exit 1
11 | fi
12 |
13 | export FAN_HOME=$FAN_SUBSTITUTE
14 |
15 | . "${0%/*}/fanlaunch"
16 | fanlaunch Fan "$@"
17 |
--------------------------------------------------------------------------------
/src/domkit/css/Dnd.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2015, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 13 Jul 2015 Andy Frank Creation
7 | //
8 |
9 | .domkit-dnd-over::after {
10 | content: "";
11 | position: absolute;
12 | top: 0;
13 | left: 0;
14 | width: 100%;
15 | height: 100%;
16 | background: #2ecc71;
17 | opacity: 0.3;
18 | }
--------------------------------------------------------------------------------
/src/markdown/test/DelimiterProcessorTest.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2024, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 25 Oct 2024 Matthew Giannini Creation
7 | //
8 |
9 | class DelimiterProcessorTest : CoreRenderingTest
10 | {
11 | // Void testDelimiterProcessorWithInvalidDelimiterUse()
12 | // {
13 | // // TODO: need pluggable
14 | // }
15 | }
--------------------------------------------------------------------------------
/src/sys/fan/Endian.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 18 Dec 09 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** Byte ordering.
11 | **
12 | enum class Endian
13 | {
14 | ** Most significant byte first (network byte order)
15 | big,
16 |
17 | ** Least significant byte first
18 | little
19 |
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/src/sys/fan/Void.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 9 Jan 06 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** Void is used to represent the absence of a return value in a Method.
11 | **
12 | const final class Void
13 | {
14 |
15 | **
16 | ** Private constructor.
17 | **
18 | private new make()
19 |
20 | }
--------------------------------------------------------------------------------
/src/sys/java/fan/sys/This.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2008, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 25 Apr 08 Brian Frank Creation
7 | //
8 | package fan.sys;
9 |
10 | /**
11 | * This represents a method return type which is always "this type".
12 | */
13 | public class This
14 | {
15 |
16 | public Type typeof() { return Sys.ThisType; }
17 |
18 | }
--------------------------------------------------------------------------------
/src/sys/js/fan/Zip.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 21 Mar 2023 Matthew Giannini Creation
7 | //
8 |
9 | /**
10 | * Zip.
11 | */
12 | fan.sys.Zip = fan.sys.Obj.$extend(fan.sys.Obj);
13 |
14 | fan.sys.Zip.prototype.$ctor = function() {}
15 | fan.sys.Zip.prototype.$typeof = function() { return fan.util.Zip.$type; }
--------------------------------------------------------------------------------
/src/sql/fan/SqlErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2007, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 30 Feb 07 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** SqlErr indicates an error from the SQL database driver.
11 | **
12 | const class SqlErr : Err
13 | {
14 |
15 | new make(Str? msg, Err? cause := null)
16 | : super(msg, cause)
17 | {
18 | }
19 |
20 | }
--------------------------------------------------------------------------------
/src/sys/es/fan/Process.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 13 Jul 2023 Matthew Giannini Creation
7 | //
8 |
9 | /**
10 | * Process
11 | */
12 | class Process extends Obj {
13 | constructor() { super(); }
14 |
15 | static make(cmd=List.make(Str.type$), dir=null) {
16 | throw UnsupportedErr.make();
17 | }
18 |
19 | }
--------------------------------------------------------------------------------
/src/sys/js/fan/This.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 15 Mar 10 Andy Frank Creation
7 | //
8 |
9 | /**
10 | * This.
11 | */
12 | fan.sys.This = fan.sys.Obj.$extend(fan.sys.Obj);
13 |
14 | fan.sys.This.prototype.$ctor = function() {}
15 | fan.sys.This.prototype.$typeof = function() { return fan.sys.This.$type; }
16 |
17 |
--------------------------------------------------------------------------------
/src/domkit/fan/Align.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2015, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 7 Oct 2015 Andy Frank Creation
7 | //
8 |
9 | using dom
10 |
11 | **
12 | ** Alignment enums: top, left, bottom, right, center, fill
13 | **
14 | @Js enum class Align
15 | {
16 | top,
17 | left,
18 | bottom,
19 | right,
20 | center,
21 | fill
22 | }
23 |
24 |
--------------------------------------------------------------------------------
/src/testDomkit/res/info-white.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/build/fan/BuildLog.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 3 Nov 06 Brian Frank Creation
7 | //
8 |
9 | using compiler
10 |
11 | **
12 | ** BuildLog is used for logging build scripts
13 | **
14 | class BuildLog : CompilerLog
15 | {
16 |
17 | new make(OutStream out := Env.cur.out)
18 | : super(out)
19 | {
20 | }
21 |
22 | }
--------------------------------------------------------------------------------
/src/sys/fan/LogLevel.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 3 Jul 06 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** LogLevel provides a set of discrete levels used to customize logging.
11 | ** See `docLang::Logging` for details.
12 | **
13 | enum class LogLevel
14 | {
15 | debug,
16 | info,
17 | warn,
18 | err,
19 | silent
20 | }
--------------------------------------------------------------------------------
/src/sys/java/fanx/serial/Literal.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2007, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 20 Aug 07 Brian Frank Creation
7 | //
8 | package fanx.serial;
9 |
10 | /**
11 | * Literal is implemented by sys objects which are encoded as literals.
12 | */
13 | public interface Literal
14 | {
15 |
16 | public void encode(ObjEncoder out);
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/src/concurrent/es/ActorFuture.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 17 Mar 2023 Matthew Giannini Creation
7 | // 22 Jun 2023 Matthew Giannini Refactor for JS
8 | //
9 |
10 | /**
11 | * ActorFuture.
12 | */
13 | class ActorFuture extends Future {
14 | constructor() { super(); }
15 |
16 | typeof() { return ActorFuture.type$; }
17 | }
--------------------------------------------------------------------------------
/src/sys/js/fan/Service.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 17 Mar 2023 Matthew Giannini Creation
7 | //
8 |
9 | /**
10 | * Service.
11 | */
12 | fan.sys.Service = fan.sys.Obj.$extend(fan.sys.Obj);
13 |
14 | fan.sys.Service.prototype.$ctor = function() {}
15 | fan.sys.Service.prototype.$typeof = function() { return fan.sys.Service.$type; }
--------------------------------------------------------------------------------
/src/testDomkit/res/info-grey.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/etc/sql/config.props:
--------------------------------------------------------------------------------
1 | //
2 | // Config: sql
3 | //
4 | // History:
5 | // 01 Feb 10 Brian Frank Creation
6 | //
7 |
8 | // Java JDBC drivers; these are java classnames separated by a comma
9 | // which are loaded into the VM using Class.forName on startup
10 | // java.drivers=com.mysql.cj.jdbc.Driver
11 |
12 | // Uncomment this line to revert old "@@" escape behavior.
13 | // See https://github.com/fantom-lang/fantom/pull/51
14 | // deprecatedEscape=true
15 |
--------------------------------------------------------------------------------
/src/nodeJs/res/testRunnerTemplate.js:
--------------------------------------------------------------------------------
1 | const __require = (m) => {
2 | const name = m.split('.')[0];
3 | const fan = this.fan;
4 | if (typeof require === 'undefined') return name == "fan" ? fan : fan[name];
5 | try { return require(`${m}`); } catch (e) { /* ignore */ }
6 | }
7 |
8 | //{{include}}
9 |
10 | //{{envDirs}}
11 |
12 | //{{targets}}
13 | // Delegate to standard TestRunner
14 | sys.Type.find("util::TestRunner").method("main").call(targets);
15 |
--------------------------------------------------------------------------------
/src/util/js/IntArray.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 17 Mar 2023 Matthew Giannini Creation
7 | //
8 |
9 | /**
10 | * IntArray.
11 | */
12 | fan.util.IntArray = fan.sys.Obj.$extend(fan.sys.Obj);
13 |
14 | fan.util.IntArray.prototype.$ctor = function() {}
15 | fan.util.IntArray.prototype.$typeof = function() { return fan.util.IntArray.$type; }
--------------------------------------------------------------------------------
/examples/java/hello.fan:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env fan
2 | //
3 | // Copyright (c) 2008, Brian Frank and Andy Frank
4 | // Licensed under the Academic Free License version 3.0
5 | //
6 | // History:
7 | // 18 Dec 08 Brian Frank Creation
8 | //
9 |
10 | using [java] java.lang
11 |
12 | **
13 | ** Hello world using System.out.println
14 | **
15 | class HelloWorld
16 | {
17 |
18 | Void main()
19 | {
20 | System.out.println("Java FFI hello world")
21 | }
22 |
23 | }
--------------------------------------------------------------------------------
/src/concurrent/js/Lock.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 1 Sep 23 Brian Frank Stub
7 | //
8 |
9 | /**
10 | * Lock
11 | */
12 | fan.concurrent.Lock = fan.sys.Obj.$extend(fan.sys.Obj);
13 |
14 | fan.concurrent.Lock.prototype.$ctor = function() {}
15 | fan.concurrent.Lock.prototype.$typeof = function() { return fan.concurrent.Lock.$type; }
16 |
17 |
--------------------------------------------------------------------------------
/src/sys/dotnet/fan/sys/Void.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 14 Sep 06 Andy Frank Creation
7 | //
8 |
9 | using System;
10 |
11 | namespace Fan.Sys
12 | {
13 | ///
14 | /// Void is the absence of a type.
15 | ///
16 | public class Void
17 | {
18 | public Type type() { return Sys.VoidType; }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/sys/fan/This.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2008, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 25 Apr 08 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** This represents a method return type which is
11 | ** always [this type]`docLang::Methods#thisReturns`.
12 | **
13 | const final class This
14 | {
15 |
16 | **
17 | ** Private constructor.
18 | **
19 | private new make()
20 |
21 | }
--------------------------------------------------------------------------------
/src/util/js/BoolArray.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 17 Mar 2023 Matthew Giannini Creation
7 | //
8 |
9 | /**
10 | * BoolArray.
11 | */
12 | fan.util.BoolArray = fan.sys.Obj.$extend(fan.sys.Obj);
13 |
14 | fan.util.BoolArray.prototype.$ctor = function() {}
15 | fan.util.BoolArray.prototype.$typeof = function() { return fan.util.BoolArray.$type; }
--------------------------------------------------------------------------------
/src/build/fan/FatalBuildErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 4 Nov 06 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** FatalBuildErr is thrown to immediately terminate
11 | ** the current build script.
12 | **
13 | const class FatalBuildErr : Err
14 | {
15 | new make(Str msg := "", Err? cause := null)
16 | : super(msg, cause)
17 | {
18 | }
19 | }
--------------------------------------------------------------------------------
/src/dom/fan/TextSel.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2022, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 18 Mar 2022 Andy Frank Creation
7 | //
8 |
9 | **
10 | ** TextSel models the current caret pos and text selection by user.
11 | **
12 | @NoDoc @Js class TextSel
13 | {
14 | ** Private ctor.
15 | private new make() {}
16 |
17 | ** Clear all selection from page.
18 | native Void clear()
19 | }
--------------------------------------------------------------------------------
/src/inet/fan/UnknownHostErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2007, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 9 Feb 07 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** UnknownHostErr indicates a failure to resolve a hostname to an IP address.
11 | **
12 | const class UnknownHostErr : IOErr
13 | {
14 |
15 | new make(Str msg, Err? cause := null)
16 | : super(msg, cause)
17 | {
18 | }
19 |
20 | }
--------------------------------------------------------------------------------
/src/domkit/css/Sheet.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 15 Mar 2016 Andy Frank Creation
7 | //
8 |
9 | div.domkit-Sheet {
10 | position: absolute;
11 | overflow: hidden;
12 | outline: none;
13 | }
14 |
15 | div.domkit-Sheet-mask {
16 | position: absolute;
17 | top: 0;
18 | left: 0;
19 | width: 100%;
20 | height: 100%;
21 | z-index: 100;
22 | }
--------------------------------------------------------------------------------
/src/sys/es/fan/Void.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 03 Dec 2009 Andy Frank Creation
7 | // 13 Apr 2010 Matthew Giannini Refactor for ES
8 | //
9 |
10 | /**
11 | * Void
12 | */
13 | class Void extends Obj {
14 | constructor() { super(); }
15 |
16 |
17 | }
18 | // Void = function() {};
19 | // Void.$typeof = function() { return Void.type$ }
20 |
21 |
--------------------------------------------------------------------------------
/src/util/js/FloatArray.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 17 Mar 2023 Matthew Giannini Creation
7 | //
8 |
9 | /**
10 | * FloatArray.
11 | */
12 | fan.util.FloatArray = fan.sys.Obj.$extend(fan.sys.Obj);
13 |
14 | fan.util.FloatArray.prototype.$ctor = function() {}
15 | fan.util.FloatArray.prototype.$typeof = function() { return fan.util.FloatArray.$type; }
--------------------------------------------------------------------------------
/src/sys/fan/ArgErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 21 Jun 06 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** ArgErr indicates an invalid argument was passed.
11 | **
12 | const class ArgErr : Err
13 | {
14 |
15 | **
16 | ** Construct with specified error message and optional root cause.
17 | **
18 | new make(Str msg := "", Err? cause := null)
19 |
20 | }
--------------------------------------------------------------------------------
/src/dom/es/TextSelPeer.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2022, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 18 Mar 2022 Andy Frank Creation
7 | // 10 Jun 2023 Kiera O'Flynn Refactor to ES
8 | //
9 |
10 | class TextSelPeer extends sys.Obj {
11 | constructor(self)
12 | {
13 | super();
14 | this.sel = null;
15 | }
16 |
17 | clear(self)
18 | {
19 | return this.sel.removeAllRanges();
20 | }
21 | }
--------------------------------------------------------------------------------
/src/testNative/fan/NativeClass.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 12 May 10 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** NativeClass tests an entire native class, where the
11 | ** class is wholly implemented in Java, C#, etc
12 | **
13 | native class NativeClass
14 | {
15 | new make()
16 |
17 | Int add(Int a, Int b)
18 |
19 | Str readResource(Str name)
20 | }
--------------------------------------------------------------------------------
/src/dom/js/TextSelPeer.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2022, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 18 Mar 2022 Andy Frank Creation
7 | //
8 |
9 | fan.dom.TextSelPeer = fan.sys.Obj.$extend(fan.sys.Obj);
10 | fan.dom.TextSelPeer.prototype.$ctor = function(self)
11 | {
12 | this.sel = null;
13 | }
14 |
15 | fan.dom.TextSelPeer.prototype.clear = function(self)
16 | {
17 | return this.sel.removeAllRanges();
18 | }
--------------------------------------------------------------------------------
/src/sys/dotnet/fanx/serial/Literal.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2007, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 11 Sep 07 Brian Frank Creation
7 | //
8 |
9 | namespace Fanx.Serial
10 | {
11 | ///
12 | /// Literal is implemented by sys objects which are encoded as literals.
13 | ///
14 | public interface Literal
15 | {
16 |
17 | void encode(ObjEncoder @out);
18 |
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/domkit/fan/Label.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2015, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 15 Feb 2015 Brian Frank Creation
7 | //
8 |
9 | using dom
10 |
11 | **
12 | ** Simple text based element.
13 | **
14 | ** See also: [docDomkit]`docDomkit::Controls#label`
15 | **
16 | @Js class Label : Elem
17 | {
18 | new make() : super("span")
19 | {
20 | this.style.addClass("domkit-control domkit-Label")
21 | }
22 | }
--------------------------------------------------------------------------------
/src/fansc/build.fan:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env fan
2 | //
3 | // Copyright (c) 2015, Brian Frank and Andy Frank
4 | // Licensed under the Academic Free License version 3.0
5 | //
6 | // History:
7 | // 31 Jul 15 Matthew Giannini Creation
8 | //
9 |
10 | using build
11 |
12 | **
13 | ** Build: fansc.exe
14 | **
15 | class Build : BuildCs
16 | {
17 |
18 | new make()
19 | {
20 | output = devHomeDir.uri + `bin/fansc.exe`
21 | targetType = "exe"
22 |
23 | srcDirs = [`FanSc/`]
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/sys/dotnet/fan/sys/This.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2008, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 25 Apr 08 Brian Frank Creation
7 | //
8 |
9 | using System;
10 |
11 | namespace Fan.Sys
12 | {
13 | ///
14 | /// This represents a method return type which is always "this type".
15 | ///
16 | public class This
17 | {
18 | public Type type() { return Sys.ThisType; }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/src/sys/fan/Unsafe.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 8 Feb 09 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** Unsafe wraps a mutable object as an immutable reference.
11 | **
12 | const final class Unsafe
13 | {
14 |
15 | **
16 | ** Wrap specified object.
17 | **
18 | new make(Obj? val)
19 |
20 | **
21 | ** Get the wrapped object.
22 | **
23 | Obj? val()
24 |
25 | }
--------------------------------------------------------------------------------
/src/sys/fan/CastErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 21 Jun 06 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** CastErr is a runtime exception raised when invalid cast is performed.
11 | **
12 | const class CastErr : Err
13 | {
14 |
15 | **
16 | ** Construct with specified error message and optional root cause.
17 | **
18 | new make(Str msg := "", Err? cause := null)
19 |
20 | }
--------------------------------------------------------------------------------
/src/sys/fan/IndexErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 11 Jan 06 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** IndexErr indicates an attempt to access an invalid index in a List.
11 | **
12 | const class IndexErr : Err
13 | {
14 |
15 | **
16 | ** Construct with specified error message and optional root cause.
17 | **
18 | new make(Str msg := "", Err? cause := null)
19 |
20 | }
--------------------------------------------------------------------------------
/src/sys/fan/UnsupportedErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 11 Jan 06 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** UnsupportedErr indicates a feature which isn't supported.
11 | **
12 | const class UnsupportedErr : Err
13 | {
14 |
15 | **
16 | ** Construct with specified error message and optional root cause.
17 | **
18 | new make(Str msg := "", Err? cause := null)
19 |
20 | }
--------------------------------------------------------------------------------
/src/sys/js/fan/LocalFileStore.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2013, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 12 Sep 13 Brian Frank Creation
7 | //
8 |
9 | /**
10 | * LocalFileStore
11 | */
12 |
13 | fan.sys.LocalFileStore = fan.sys.Obj.$extend(fan.sys.FileStore);
14 | fan.sys.LocalFileStore.prototype.$ctor = function() {}
15 | fan.sys.LocalFileStore.prototype.$typeof = function() { return fan.sys.LocalFileStore.$type; }
16 |
17 |
--------------------------------------------------------------------------------
/src/concurrent/js/ActorFuture.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 17 Mar 2023 Matthew Giannini Creation
7 | //
8 |
9 | /**
10 | * ActorFuture.
11 | */
12 | fan.concurrent.ActorFuture = fan.sys.Obj.$extend(fan.concurrent.Future);
13 |
14 | fan.concurrent.Future.prototype.$ctor = function() {}
15 | fan.concurrent.Future.prototype.$typeof = function() { return fan.concurrent.ActorFuture.$type; }
--------------------------------------------------------------------------------
/src/sys/fan/UnknownPodErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 11 Jan 06 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** UnknownPodErr indicates an attempt to access a non-existent pod.
11 | **
12 | const class UnknownPodErr : Err
13 | {
14 |
15 | **
16 | ** Construct with specified error message and optional root cause.
17 | **
18 | new make(Str msg := "", Err? cause := null)
19 |
20 | }
--------------------------------------------------------------------------------
/src/sys/fan/UnknownKeyErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2012, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 09 Mar 12 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** UnknownKeyErr indicates an attempt to lookup a non-existent key.
11 | **
12 | const class UnknownKeyErr : Err
13 | {
14 |
15 | **
16 | ** Construct with specified error message and optional root cause.
17 | **
18 | new make(Str msg := "", Err? cause := null)
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/src/sys/fan/UnknownSlotErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 11 Jan 06 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** UnknownSlotErr indicates an attempt to access a non-existent slot.
11 | **
12 | const class UnknownSlotErr : Err
13 | {
14 |
15 | **
16 | ** Construct with specified error message and optional root cause.
17 | **
18 | new make(Str msg := "", Err? cause := null)
19 |
20 | }
--------------------------------------------------------------------------------
/src/sys/fan/UnknownTypeErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 11 Jan 06 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** UnknownTypeErr indicates an attempt to access a non-existent type.
11 | **
12 | const class UnknownTypeErr : Err
13 | {
14 |
15 | **
16 | ** Construct with specified error message and optional root cause.
17 | **
18 | new make(Str msg := "", Err? cause := null)
19 |
20 | }
--------------------------------------------------------------------------------
/src/sys/fan/UnresolvedErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2007, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 24 Nov 07 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** UnresolvedErr indicates the failure to resolve a Uri to a resource.
11 | **
12 | const class UnresolvedErr : Err
13 | {
14 |
15 | **
16 | ** Construct with specified error message and optional root cause.
17 | **
18 | new make(Str msg := "", Err? cause := null)
19 |
20 | }
--------------------------------------------------------------------------------
/src/build/fan/Facets.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 4 Feb 10 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** Target facet is applied to a `BuildScript` method to
11 | ** indicate it is a build target or goal.
12 | **
13 | facet class Target
14 | {
15 | **
16 | ** String for usage help, should be a single short line summary of target
17 | **
18 | const Str help := ""
19 | }
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/crypto/fan/Csr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2021, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 13 Aug 2021 Matthew Giannini Creation
7 | //
8 |
9 | **
10 | ** A Certificate Signing Request (CSR)
11 | **
12 | const mixin Csr
13 | {
14 | ** Get the public key for the CSR
15 | abstract PubKey pub()
16 |
17 | ** Get the subject dn
18 | abstract Str subject()
19 |
20 | ** Get the immutable signing options
21 | abstract Str:Obj opts()
22 | }
--------------------------------------------------------------------------------
/src/sys/fan/IOErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 11 Jan 06 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** IOErr indicates an input/output error typically associated
11 | ** with a file system or socket.
12 | **
13 | const class IOErr : Err
14 | {
15 |
16 | **
17 | ** Construct with specified error message and optional root cause.
18 | **
19 | new make(Str msg := "", Err? cause := null)
20 |
21 | }
--------------------------------------------------------------------------------
/src/testJava/java/JavaImplTestPeer.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2025, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 19 May 25 Brian Frank Creation
7 | //
8 | package fan.testJava;
9 |
10 | public class JavaImplTestPeer
11 | {
12 | public static JavaImplTestPeer make(JavaImplTest self)
13 | {
14 | return new JavaImplTestPeer();
15 | }
16 |
17 | public void test(JavaImplTest self)
18 | {
19 | Test.test("");
20 | }
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/src/concurrent/es/Lock.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 1 Sep 23 Brian Frank Stub
7 | //
8 |
9 | /**
10 | * Lock
11 | */
12 | class Lock extends sys.Obj {
13 |
14 | constructor() { super(); }
15 |
16 | typeof() { return Lock.type$; }
17 |
18 | static makeReentrant() { return new Lock(); }
19 |
20 | lock() { }
21 |
22 | unlock() { }
23 |
24 | tryLock(timeout=null) { return true; }
25 |
26 | }
--------------------------------------------------------------------------------
/src/sys/fan/TimeoutErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 27 Mar 09 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** TimeoutErr indicates that a blocking operation
11 | ** timed out before normal completion.
12 | **
13 | const class TimeoutErr : Err
14 | {
15 |
16 | **
17 | ** Construct with specified error message and optional root cause.
18 | **
19 | new make(Str msg := "", Err? cause := null)
20 |
21 | }
--------------------------------------------------------------------------------
/etc/syntax/syntax-batch.fog:
--------------------------------------------------------------------------------
1 | //
2 | // Syntax rules for DOS Batch
3 | //
4 | // History:
5 | // 14 Aug 08 Brian Frank Creation
6 | //
7 |
8 | using syntax
9 |
10 | SyntaxRules
11 | {
12 | // list of end of line comment tokens
13 | comments = ["REM", "rem"]
14 |
15 | // block comments
16 | blockCommentStart = null
17 | blockCommentEnd = null
18 | blockCommentsNest = false
19 |
20 | // string and character literals
21 | strs = null
22 |
23 | // keyword list
24 | keywords = null
25 | }
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/src/domkit/pod.fandoc:
--------------------------------------------------------------------------------
1 | **************************************************************************
2 | ** title: DomKit
3 | ** author: Andy Frank
4 | ** created: 31 Mar 2015
5 | ** copyright: Copyright (c) 2014, Brian Frank and Andy Frank
6 | **************************************************************************
7 |
8 | Overview [#overview]
9 | ********************
10 | DomKit is a HTML5 UI toolkit designed for building Web-based user interfaces.
11 |
12 | See [docDomkit]`docDomkit::Intro` for full documentation.
13 |
--------------------------------------------------------------------------------
/src/sys/fan/ConstErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 9 Apr 09 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** ConstErr indicates an attempt to set a const field after
11 | ** the object has been constructed.
12 | **
13 | const class ConstErr : Err
14 | {
15 |
16 | **
17 | ** Construct with specified error message and optional root cause.
18 | **
19 | new make(Str msg := "", Err? cause := null)
20 |
21 | }
--------------------------------------------------------------------------------
/src/sys/fan/InterruptedErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2007, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 28 Jan 07 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** InterruptedErr indicates that a thread is interrupted from
11 | ** its normal execution.
12 | **
13 | const class InterruptedErr : Err
14 | {
15 |
16 | **
17 | ** Construct with specified error message and optional root cause.
18 | **
19 | new make(Str msg := "", Err? cause := null)
20 |
21 | }
--------------------------------------------------------------------------------
/src/sys/fan/NameErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2007, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 28 Dec 07 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** NameErr indicates an attempt to use an invalid name.
11 | ** See `Uri.isName` and `Uri.checkName`.
12 | **
13 | const class NameErr : Err
14 | {
15 |
16 | **
17 | ** Construct with specified error message and optional root cause.
18 | **
19 | new make(Str msg := "", Err? cause := null)
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/src/crypto/fan/Jwk.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2024, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 21 Mar 2024 Ross Schwalm Creation
7 | //
8 |
9 | **
10 | ** Models a JSON Web Key (JWK) as specified by [RFC7517]`https://datatracker.ietf.org/doc/html/rfc7517`
11 | **
12 | ** JWKs wrap a Key[`Key`] object with additional metadata
13 | **
14 | const mixin Jwk
15 | {
16 | ** Jwk
17 | abstract Str:Obj meta()
18 |
19 | ** Key
20 | abstract Key key()
21 | }
22 |
23 |
--------------------------------------------------------------------------------
/src/domkit/css/Menu.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2015, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 13 May 2015 Andy Frank Creation
7 | //
8 |
9 | div.domkit-Menu {
10 | background: #fff !important;
11 | border-radius: 3px;
12 | overflow: auto;
13 | outline: none;
14 | padding: 5px 0;
15 | }
16 |
17 | div.domkit-MenuItem {
18 | display: block;
19 | padding-left: 10px;
20 | padding-right: 20px;
21 | min-width: 100px;
22 | cursor: default;
23 | }
24 |
--------------------------------------------------------------------------------
/src/sys/dotnet/fan/sys/Js.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 4 Feb 10 Brian Frank Creation
7 | //
8 |
9 | namespace Fan.Sys
10 | {
11 | public sealed class Js : FanObj, Facet
12 | {
13 | public static readonly Js m_defVal = new Js();
14 |
15 | private Js() {}
16 |
17 | public override Type @typeof() { return Sys.JsType; }
18 |
19 | public override string toStr() { return @typeof().qname(); }
20 | }
21 | }
--------------------------------------------------------------------------------
/src/sys/fan/CancelledErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 26 Mar 09 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** CancelledErr indicates that an operation was cancelled
11 | ** before it completed normally.
12 | **
13 | const class CancelledErr : Err
14 | {
15 |
16 | **
17 | ** Construct with specified error message and optional root cause.
18 | **
19 | new make(Str msg := "", Err? cause := null)
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/src/sys/fan/FieldNotSetErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 23 Mar 10 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** FieldNotSetErr indicates a non-nullable field was not
11 | ** set by the constructor it-block.
12 | **
13 | const class FieldNotSetErr : Err
14 | {
15 |
16 | **
17 | ** Construct with specified error message and optional root cause.
18 | **
19 | new make(Str msg := "", Err? cause := null)
20 |
21 | }
--------------------------------------------------------------------------------
/src/sys/java/fanx/interop/IntArray.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2008, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 04 Dec 08 Brian Frank Creation
7 | //
8 | package fanx.interop;
9 |
10 | /**
11 | * IntArray dummy class for int[]
12 | */
13 | public class IntArray
14 | {
15 | public static IntArray make(int size) { return null; }
16 | public int get(int index) { return 0; }
17 | public void set(int index, int val) {}
18 | public int size() { return 0; }
19 | }
--------------------------------------------------------------------------------
/src/sys/fan/ReadonlyErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 7 Apr 06 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** ReadonlyErr indicates an attempt to modify a readonly instance.
11 | ** It is commonly used with List and Map.
12 | **
13 | const class ReadonlyErr : Err
14 | {
15 |
16 | **
17 | ** Construct with specified error message and optional root cause.
18 | **
19 | new make(Str msg := "", Err? cause := null)
20 |
21 | }
--------------------------------------------------------------------------------
/src/sys/java/fanx/interop/ByteArray.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2008, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 04 Dec 08 Brian Frank Creation
7 | //
8 | package fanx.interop;
9 |
10 | /**
11 | * ByteArray dummy class for byte[]
12 | */
13 | public class ByteArray
14 | {
15 | public static ByteArray make(int size) { return null; }
16 | public byte get(int index) { return 0; }
17 | public void set(int index, byte val) {}
18 | public int size() { return 0; }
19 | }
--------------------------------------------------------------------------------
/src/sys/java/fanx/interop/CharArray.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2008, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 04 Dec 08 Brian Frank Creation
7 | //
8 | package fanx.interop;
9 |
10 | /**
11 | * CharArray dummy class for char[]
12 | */
13 | public class CharArray
14 | {
15 | public static CharArray make(int size) { return null; }
16 | public char get(int index) { return 0; }
17 | public void set(int index, char val) {}
18 | public int size() { return 0; }
19 | }
--------------------------------------------------------------------------------
/src/sys/java/fanx/interop/LongArray.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2008, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 04 Dec 08 Brian Frank Creation
7 | //
8 | package fanx.interop;
9 |
10 | /**
11 | * LongArray dummy class for long[]
12 | */
13 | public class LongArray
14 | {
15 | public static LongArray make(int size) { return null; }
16 | public long get(int index) { return 0; }
17 | public void set(int index, long val) {}
18 | public int size() { return 0; }
19 | }
--------------------------------------------------------------------------------
/adm/unixsetup:
--------------------------------------------------------------------------------
1 | #! /bin/bash
2 |
3 | #
4 | # unixsetup: chmod +x on all fan scripts
5 | #
6 | # TODO: need to add examples/ scripts
7 | #
8 |
9 | . "${0%/*}/../bin/fanlaunch"
10 | echo "###"
11 | echo "### FAN_HOME=$FAN_HOME"
12 | echo "###"
13 |
14 | # this is a test comment for email notification, but do i really need .exe?
15 | chmod +x $FAN_HOME/bin/*
16 | find $FAN_HOME \
17 | \( -name "*.exe" -o -name "build*.fan" -o -name 'boot*.fan' \) \
18 | -exec chmod +x {} \;
19 | find $FAN_HOME/examples -name '*.fan' \
20 | -exec chmod +x {} \;
21 |
--------------------------------------------------------------------------------
/src/domkit/fan/Box.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 19 Dec 2014 Andy Frank Creation
7 | //
8 |
9 | using dom
10 |
11 | **
12 | ** Box defaults style to:
13 | **
14 | ** display: block;
15 | ** box-sizing: border-box;
16 | ** width: 100%;
17 | ** height: 100%;
18 | ** position: relative;
19 | **
20 | @Js class Box : Elem
21 | {
22 | new make() : super("div")
23 | {
24 | this.style.addClass("domkit-Box")
25 | }
26 | }
--------------------------------------------------------------------------------
/src/sys/dotnet/fan/sys/Number.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 20 Oct 08 Andy Frank Creation
7 | //
8 |
9 | namespace Fan.Sys
10 | {
11 | ///
12 | /// Temp wrapper for numberic primitives
13 | ///
14 | public abstract class Number
15 | {
16 | public abstract double doubleValue();
17 | public abstract float floatValue();
18 | public abstract int intValue();
19 | public abstract long longValue();
20 | }
21 | }
--------------------------------------------------------------------------------
/src/sys/java/fanx/interop/FloatArray.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2008, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 04 Dec 08 Brian Frank Creation
7 | //
8 | package fanx.interop;
9 |
10 | /**
11 | * FloatArray dummy class for float[]
12 | */
13 | public class FloatArray
14 | {
15 | public static FloatArray make(int size) { return null; }
16 | public float get(int index) { return 0; }
17 | public void set(int index, float val) {}
18 | public int size() { return 0; }
19 | }
--------------------------------------------------------------------------------
/src/sys/java/fanx/interop/ShortArray.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2008, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 04 Dec 08 Brian Frank Creation
7 | //
8 | package fanx.interop;
9 |
10 | /**
11 | * ShortArray dummy class for short[]
12 | */
13 | public class ShortArray
14 | {
15 | public static ShortArray make(int size) { return null; }
16 | public short get(int index) { return 0; }
17 | public void set(int index, short val) {}
18 | public int size() { return 0; }
19 | }
--------------------------------------------------------------------------------
/src/sys/es/fan/Unsafe.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 04 Jun 2010 Brian Frank Creation
7 | // 25 Apr 2023 Matthew Giannini Refactor for ES
8 | //
9 |
10 | /**
11 | * Unsafe.
12 | */
13 | class Unsafe extends Obj {
14 |
15 | constructor(val) {
16 | super();
17 | this.#val = val;
18 | }
19 |
20 | #val;
21 |
22 | static make(val) { return new Unsafe(val); }
23 |
24 |
25 |
26 | val() { return this.#val; }
27 |
28 | }
--------------------------------------------------------------------------------
/src/testSys/fan/Facets.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 3 Feb 10 Brian Frank Creation
7 | //
8 |
9 | @Js facet class FacetM1 {}
10 | @Js facet class FacetM2 {}
11 |
12 | @Js facet class FacetS1
13 | {
14 | const Str val := "alpha"
15 | }
16 |
17 | @Js facet class FacetS2
18 | {
19 | const Bool b
20 | const Int i
21 | const Str? s
22 | const Version? v
23 | const Int[]? l
24 | const Type? type
25 | const Slot? slot
26 | }
--------------------------------------------------------------------------------
/src/graphics/fan/Paint.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2022, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 28 Feb 2022 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** Paint models the color, image, or pattern used to stroke or fill a shape.
11 | ** Currently there is only one implementation: `Color`.
12 | **
13 | @Js
14 | const mixin Paint
15 | {
16 | ** Is this solid color paint
17 | abstract Bool isColorPaint()
18 |
19 | ** Return as solid Color
20 | abstract Color asColorPaint()
21 | }
--------------------------------------------------------------------------------
/src/sys/dotnet/fan/sys/NoDoc.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 4 Feb 10 Brian Frank Creation
7 | //
8 |
9 | namespace Fan.Sys
10 | {
11 | public sealed class NoDoc : FanObj, Facet
12 | {
13 | public static readonly NoDoc m_defVal = new NoDoc();
14 |
15 | private NoDoc() {}
16 |
17 | public override Type @typeof() { return Sys.NoDocType; }
18 |
19 | public override string toStr() { return @typeof().qname(); }
20 | }
21 | }
--------------------------------------------------------------------------------
/src/sys/java/fanx/interop/DoubleArray.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2008, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 04 Dec 08 Brian Frank Creation
7 | //
8 | package fanx.interop;
9 |
10 | /**
11 | * DoubleArray dummy class for double[]
12 | */
13 | public class DoubleArray
14 | {
15 | public static DoubleArray make(int size) { return null; }
16 | public double get(int index) { return 0; }
17 | public void set(int index, double val) {}
18 | public int size() { return 0; }
19 | }
--------------------------------------------------------------------------------
/src/compilerJs/res/scriptRunnerTemplate.js:
--------------------------------------------------------------------------------
1 | //{{require}}
2 |
3 | try {
4 | //{{envDirs}}
5 | fan.{{tempPod}}.Main.main();
6 | } catch (err) {
7 | console.log('ERROR: ' + err + '\n');
8 | console.log(err.stack);
9 | if (err == undefined) print('Undefined error\n');
10 | else if (err.trace) err.trace();
11 | else
12 | {
13 | var file = err.fileName; if (file == null) file = 'Unknown';
14 | var line = err.lineNumber; if (line == null) line = 'Unknown';
15 | fan.sys.Env.cur().out().printLine(err + ' (' + file + ':' + line + ')\n');
16 | }
17 | }
--------------------------------------------------------------------------------
/src/doc/build.fan:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env fan
2 | //
3 | // Copyright (c) 2006, Brian Frank and Andy Frank
4 | // Licensed under the Academic Free License version 3.0
5 | //
6 | // History:
7 | // 1 Jan 07 Brian Frank Creation
8 | //
9 |
10 | using build
11 |
12 | **
13 | ** doc/
14 | **
15 | class Build : BuildGroup
16 | {
17 | new make()
18 | {
19 | childrenScripts =
20 | [
21 | `docIntro/build.fan`,
22 | `docLang/build.fan`,
23 | `docTools/build.fan`,
24 | `docFanr/build.fan`,
25 | `docDomkit/build.fan`,
26 | ]
27 | }
28 | }
--------------------------------------------------------------------------------
/src/sys/fan/ParseErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2007, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 18 Aug 07 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** ParseErr indicates an invalid string format which cannot be parsed.
11 | ** It is often used with 'fromStr' and 'fromLocale' methods.
12 | **
13 | const class ParseErr : Err
14 | {
15 |
16 | **
17 | ** Construct with specified error message and optional root cause.
18 | **
19 | new make(Str msg := "", Err? cause := null)
20 |
21 | }
--------------------------------------------------------------------------------
/src/sys/dotnet/fanx/fcode/FDoc.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2008, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 18 Feb 08 Andy Frank Creation
7 | //
8 |
9 | using System.IO;
10 | using System.Text;
11 | using Fan.Sys;
12 |
13 | namespace Fanx.Fcode
14 | {
15 | public class FDoc
16 | {
17 | public static void read(Stream input, object top)
18 | {
19 | // TODO: this code needs to be updated to use new
20 | // apidoc format introduced in 1.0.60 Sept 2011
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/src/sys/es/fan/UriScheme.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 13 Jul 2023 Matthew Giannini Creation
7 | //
8 |
9 | /**
10 | * UriScheme
11 | */
12 | class UriScheme extends Obj {
13 | constructor() { super(); }
14 |
15 | static find(scheme, checked=true) {
16 | if (checked) throw UnresolvedErr.make(`${scheme}`);
17 | return null;
18 | }
19 |
20 | get(uri, base) {
21 | throw UnresolvedErr.make(`uri=${uri} base=${base}`);
22 | }
23 | }
--------------------------------------------------------------------------------
/src/sys/java/fanx/interop/BooleanArray.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2008, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 04 Dec 08 Brian Frank Creation
7 | //
8 | package fanx.interop;
9 |
10 | /**
11 | * BooleanArray dummy class for boolean[]
12 | */
13 | public class BooleanArray
14 | {
15 | public static BooleanArray make(int size) { return null; }
16 | public boolean get(int index) { return false; }
17 | public void set(int index, boolean val) {}
18 | public int size() { return 0; }
19 | }
--------------------------------------------------------------------------------
/src/math/fan/Math.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2020, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 11 Aug 20 Matthew Giannini Creation
7 | //
8 |
9 |
10 | **
11 | ** This mixin contains a set of utilities and functions for various math operations.
12 | **
13 | final class Math
14 | {
15 | ** Create a new `Matrix` with the given number of rows and columns.
16 | ** All elements of the matrix are initialized to zero.
17 | static Matrix matrix(Int numRows, Int numCols) { MMatrix(numRows, numCols) }
18 | }
--------------------------------------------------------------------------------
/src/sys/dotnet/fan/sys/Operator.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 8 Nov 10 Brian Frank Creation
7 | //
8 |
9 | namespace Fan.Sys
10 | {
11 | public sealed class Operator : FanObj, Facet
12 | {
13 | public static readonly Operator m_defVal = new Operator();
14 |
15 | private Operator() {}
16 |
17 | public override Type @typeof() { return Sys.OperatorType; }
18 |
19 | public override string toStr() { return @typeof().qname(); }
20 | }
21 | }
--------------------------------------------------------------------------------
/src/sys/dotnet/fan/sys/Transient.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 4 Feb 10 Brian Frank Creation
7 | //
8 |
9 | namespace Fan.Sys
10 | {
11 | public sealed class Transient : FanObj, Facet
12 | {
13 | public static readonly Transient m_defVal = new Transient();
14 |
15 | private Transient() {}
16 |
17 | public override Type @typeof() { return Sys.TransientType; }
18 |
19 | public override string toStr() { return @typeof().qname(); }
20 | }
21 | }
--------------------------------------------------------------------------------
/src/sys/fan/UnknownFacetErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 14 May 09 Brian Frank Creation
7 | // 03 Feb 09 Brian Frank Rename from UnknownSymbolErr
8 | //
9 |
10 | **
11 | ** UnknownFacetErr indicates an attempt to access an undefined facet.
12 | **
13 | const class UnknownFacetErr : Err
14 | {
15 |
16 | **
17 | ** Construct with specified error message and optional root cause.
18 | **
19 | new make(Str msg := "", Err? cause := null)
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/src/sys/fan/NotImmutableErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2007, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 2 Feb 07 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** NotImmutableErr indicates using a mutable Obj where an immutable Obj is
11 | ** required. See Obj.isImmutable for the definition of immutability.
12 | **
13 | const class NotImmutableErr : Err
14 | {
15 |
16 | **
17 | ** Construct with specified error message and optional root cause.
18 | **
19 | new make(Str msg := "", Err? cause := null)
20 |
21 | }
--------------------------------------------------------------------------------
/src/math/test/BigIntTest.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2025, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 3 Jun 25 Brian Frank Creation
7 | //
8 |
9 | class BigIntTest : Test
10 | {
11 | Void testGetSet()
12 | {
13 | i := BigInt("123")
14 | verifyEq(i.typeof, BigInt#)
15 |
16 | verifyEq(BigInt.defVal, BigInt(0))
17 | verifyEq(BigInt.zero, BigInt(0))
18 | verifyEq(BigInt.one, BigInt(1))
19 |
20 | verifyEq(i + 3, BigInt("126"))
21 | verifyEq(i - 3, BigInt("120"))
22 | }
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/etc/syntax/syntax-yaml.fog:
--------------------------------------------------------------------------------
1 | //
2 | // Syntax rules for YAML
3 | //
4 | // History:
5 | // 5 Mar 23 Brian Frank Creation
6 | //
7 |
8 | using syntax
9 |
10 | SyntaxRules
11 | {
12 | // bracket symbols
13 | brackets = "<>{}[]"
14 |
15 | // list of end of line comment tokens
16 | comments = ["#"]
17 |
18 | // string and character literals
19 | strs =
20 | [
21 | SyntaxStr { delimiter = "\""; escape = '\\'; multiLine = false },
22 | SyntaxStr { delimiter = "'"; escape = '\\'; multiLine = false },
23 | ]
24 |
25 | // keyword list
26 | keywords = [,]
27 | }
28 |
29 |
30 |
--------------------------------------------------------------------------------
/src/fandoc/fan/FandocErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2008, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 19 May 08 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** FandocErr
11 | **
12 | @Js
13 | const class FandocErr : Err
14 | {
15 |
16 | new make(Str msg, Str file, Int line, Err? cause := null)
17 | : super(msg, cause)
18 | {
19 | this.file = file
20 | this.line = line
21 | }
22 |
23 | override Str toStr()
24 | {
25 | return "$msg [$file:$line]"
26 | }
27 |
28 | const Str file
29 | const Int line
30 | }
--------------------------------------------------------------------------------
/src/sys/java/fan/sys/NoDoc.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 4 Feb 10 Brian Frank Creation
7 | //
8 | package fan.sys;
9 |
10 | /**
11 | * Annotate a type or slot as undocumented.
12 | */
13 | public final class NoDoc extends FanObj implements Facet
14 | {
15 | public static final NoDoc defVal = new NoDoc();
16 |
17 | private NoDoc() {}
18 |
19 | public Type typeof() { return Sys.NoDocType; }
20 |
21 | public String toStr() { return typeof().qname(); }
22 |
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/src/domkit/css/Popup.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 19 Dec 2014 Andy Frank Creation
7 | //
8 |
9 | div.domkit-Popup {
10 | position: absolute;
11 | outline: none;
12 | background: rgba(248, 248, 248, 0.95);
13 | border: 1px solid #ddd;
14 | box-shadow: 0px 9px 18px rgba(0, 0, 0, 0.25);
15 | box-sizing: border-box;
16 | }
17 |
18 | div.domkit-Popup-mask {
19 | position: absolute;
20 | top: 0;
21 | left: 0;
22 | width: 100%;
23 | height: 100%;
24 | z-index: 100;
25 | }
--------------------------------------------------------------------------------
/src/sys/java/fan/sys/Js.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 4 Feb 10 Brian Frank Creation
7 | //
8 | package fan.sys;
9 |
10 | /**
11 | * Js is used to annoate types which should be compiled into JavaScript.
12 | */
13 | public final class Js extends FanObj implements Facet
14 | {
15 | public static final Js defVal = new Js();
16 |
17 | private Js() {}
18 |
19 | public Type typeof() { return Sys.JsType; }
20 |
21 | public String toStr() { return typeof().qname(); }
22 |
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/src/dom/es/WeakMapPeer.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 9 Mar 2016 Andy Frank Creation
7 | // 10 Jun 2023 Kiera O'Flynn Refactor to ES
8 | //
9 |
10 | class WeakMapPeer extends sys.Obj {
11 |
12 | constructor(self) { super(); this.map = new js.WeakMap(); }
13 | has(self, key) { return this.map.has(key); }
14 | get(self, key) { return this.map.get(key); }
15 | set(self, key, val) { this.map.set(key, val); return self; }
16 | delete(self, key) { return this.map.delete(key); }
17 |
18 | }
--------------------------------------------------------------------------------
/src/sys/fan/UnknownServiceErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 21 Dec 07 Brian Frank Creation
7 | // 26 Mar 09 Brian Frank Renamed from UnknownThreadErr
8 | //
9 |
10 | **
11 | ** UnknownServiceErr indicates an attempt to lookup a service
12 | ** which is not installed. See `Service.find`.
13 | **
14 | const class UnknownServiceErr : Err
15 | {
16 |
17 | **
18 | ** Construct with specified error message and optional root cause.
19 | **
20 | new make(Str msg := "", Err? cause := null)
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/src/sys/java/fan/sys/Operator.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 8 Nov 10 Brian Frank Creation
7 | //
8 | package fan.sys;
9 |
10 | /**
11 | * Used on methods to indicate method may be used as an operator.
12 | */
13 | public final class Operator extends FanObj implements Facet
14 | {
15 | public static final Operator defVal = new Operator();
16 |
17 | private Operator() {}
18 |
19 | public Type typeof() { return Sys.OperatorType; }
20 |
21 | public String toStr() { return typeof().qname(); }
22 |
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/src/sys/java/fan/sys/Transient.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 4 Feb 10 Brian Frank Creation
7 | //
8 | package fan.sys;
9 |
10 | /**
11 | * Transient annotates fields which should not be serialized.
12 | */
13 | public final class Transient extends FanObj implements Facet
14 | {
15 | public static final Transient defVal = new Transient();
16 |
17 | private Transient() {}
18 |
19 | public Type typeof() { return Sys.TransientType; }
20 |
21 | public String toStr() { return typeof().qname(); }
22 |
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/examples/web/demo/index.html:
--------------------------------------------------------------------------------
1 |
2 |
Wisp Demo Index
3 |
4 | Wisp Demo Index
5 |
6 |
7 |
8 | - /doc: FileMod for directory (available
9 | only if fan.home/docs found).
10 |
11 | - /upload: demonstrates how to handle multipart/form-data
12 | uploads
13 |
14 | - /logs/sys.log: system log handler.
15 |
16 | - /logs/web.log: log file for configured LogMod
17 |
18 | - /dump: dumps all the fields of WebReq.
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/adm/tools/atom/install.fan:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env fan
2 | //
3 | // Copyright (c) 2016, Brian Frank and Andy Frank
4 | // Licensed under the Academic Free License version 3.0
5 | //
6 | // History:
7 | // 16 Feb 16 Matthew Giannini Creation
8 | //
9 |
10 | **
11 | ** Install the language-fantom plugin for the Atom editor.
12 | ** Requires 'apm' to be in the PATH.
13 | **
14 | class Install
15 | {
16 |
17 | static Void main()
18 | {
19 | args := Env.cur.args
20 | if (args.size != 0)
21 | {
22 | echo(" usage: install")
23 | }
24 | c := Process(["apm", "install", "language-fantom"])
25 | c.run()
26 | c.join
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/compilerJs/fan/ast/JsFacet.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2011, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 27 May 2011 Andy Frank Creation
7 | //
8 |
9 | using compiler
10 |
11 | **
12 | ** JsFacet
13 | **
14 | class JsFacet : JsNode
15 | {
16 | new make(JsCompilerSupport s, FacetDef f) : super(s)
17 | {
18 | this.type = JsTypeRef(s, f.type, f.loc)
19 | this.val = f.serialize
20 | }
21 |
22 | override Void write(JsWriter out)
23 | {
24 | out.w(val)
25 | }
26 |
27 | JsTypeRef type // facet type
28 | Str val // serialized facet value
29 | }
30 |
--------------------------------------------------------------------------------
/adm/filereplace.fan:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env fan
2 |
3 | class FileReplace
4 | {
5 |
6 | Void replace(File f, Str from, Str to)
7 | {
8 | s := f.readAllStr(true)
9 | if (!s.contains(from)) return
10 | echo(" Replace $f")
11 | s = s.replace(from, to)
12 | f.out.print(s).close
13 | }
14 |
15 | Void main(Str[] args)
16 | {
17 | if (args.size < 4)
18 | {
19 | echo("usage: filereplace ")
20 | return
21 | }
22 | from := args[0]
23 | to := args[1]
24 | dir := File.os(args[2])
25 | ext := args[3]
26 | dir.walk |File f| { if (f.ext == ext) replace(f, from, to) }
27 | }
28 |
29 | }
--------------------------------------------------------------------------------
/etc/fanr/config.props:
--------------------------------------------------------------------------------
1 | //
2 | // Config: fanr
3 | //
4 | // History:
5 | // 03 May 11 Brian Frank Creation
6 | //
7 |
8 | // Default repository URI to use for all commands.
9 | // Override on command line with the -r option
10 | repo=https://eggbox.fantomfactory.org/fanr/
11 |
12 | // Number of versions per pod limit for query command.
13 | // Override on command line with the -n option
14 | numVersions=5
15 |
16 | // Hard coded username for default repository
17 | // Override on command line with -u option
18 | // username=someone
19 |
20 | // Hard coded password for default repository
21 | // Override on command line with -p option
22 | // password=xyz123
23 |
24 |
--------------------------------------------------------------------------------
/src/testGraphics/fan/Main.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2022, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 28 Feb 2022 Brian Frank Creation
7 | //
8 |
9 | using graphics
10 | using web
11 | using wisp
12 |
13 | class Main : Test
14 | {
15 | Void main(Str[] args := [,])
16 | {
17 | launchDom
18 | launchJava(args.first)
19 | }
20 |
21 | Void launchDom()
22 | {
23 | WispService
24 | {
25 | it.httpPort = 8080
26 | it.root = MainDomMod()
27 | }.start
28 | }
29 |
30 | Void launchJava(Str? typeName)
31 | {
32 | MainJava.run(typeName)
33 | }
34 | }
35 |
36 |
--------------------------------------------------------------------------------
/src/xml/fan/XIncompleteErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2008, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 7 Nov 08 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** Incomplete document exception indicates that the end of stream
11 | ** was reached before the end of the document was parsed.
12 | **
13 | @Js const class XIncompleteErr : XErr
14 | {
15 |
16 | **
17 | ** Construct with optional message, line number, and root cause.
18 | **
19 | new make(Str? message := null, Int line := 0, Int col := 0, Err? cause := null)
20 | : super(message, line, col, cause)
21 | {
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/etc/syntax/syntax-shell.fog:
--------------------------------------------------------------------------------
1 | //
2 | // Syntax rules for Unix Shells
3 | //
4 | // History:
5 | // 14 Aug 08 Brian Frank Creation
6 | //
7 |
8 | using syntax
9 |
10 | SyntaxRules
11 | {
12 | // list of end of line comment tokens
13 | comments = ["#"]
14 |
15 | // block comments
16 | blockCommentStart = null
17 | blockCommentEnd = null
18 | blockCommentsNest = true
19 |
20 | // string and character literals
21 | strs =
22 | [
23 | SyntaxStr { delimiter = "\""; escape = '\\'; multiLine = false },
24 | SyntaxStr { delimiter = "'"; escape = '\\'; multiLine = false }
25 | ]
26 |
27 | // keyword list
28 | keywords = null
29 | }
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/src/sys/dotnet/fan/sys/Service.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 30 Mar 09 Andy Frank Creation
7 | //
8 |
9 | using System;
10 | using Fanx.Fcode;
11 |
12 | namespace Fan.Sys
13 | {
14 | ///
15 | /// Service.
16 | ///
17 | public interface Service
18 | {
19 |
20 | bool isInstalled();
21 |
22 | bool isRunning();
23 |
24 | Service install();
25 |
26 | Service uninstall();
27 |
28 | Service start();
29 |
30 | Service stop();
31 |
32 | void onStart();
33 |
34 | void onStop();
35 |
36 | }
37 | }
--------------------------------------------------------------------------------
/src/sys/java/fanx/fcode/FField.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 26 Dec 05 Brian Frank Creation
7 | //
8 | package fanx.fcode;
9 |
10 | import java.io.*;
11 | import java.util.*;
12 |
13 | /**
14 | * FField is the fcode representation of sys::Field.
15 | */
16 | public class FField
17 | extends FSlot
18 | {
19 |
20 | public FField read(FStore.Input in) throws IOException
21 | {
22 | super.readCommon(in);
23 | type = in.u2();
24 | super.readAttrs(in);
25 | return this;
26 | }
27 |
28 | public int type; // type qname index
29 |
30 | }
--------------------------------------------------------------------------------
/etc/syntax/syntax-css.fog:
--------------------------------------------------------------------------------
1 | //
2 | // Syntax rules for Cascading Style Sheets
3 | //
4 | // History:
5 | // 14 Aug 08 Brian Frank Creation
6 | //
7 |
8 | using syntax
9 |
10 | SyntaxRules
11 | {
12 | // list of end of line comment tokens
13 | comments = null
14 |
15 | // block comments
16 | blockCommentStart = "/*"
17 | blockCommentEnd = "*/"
18 | blockCommentsNest = false
19 |
20 | // string and character literals
21 | strs =
22 | [
23 | SyntaxStr { delimiter = "\""; escape = '\\'; multiLine = false },
24 | SyntaxStr { delimiter = "'"; escape = '\\'; multiLine = false }
25 | ]
26 |
27 | // keyword list
28 | keywords = null
29 | }
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/src/cryptoJava/fan/JDigest.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2021, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 16 Aug 2021 Matthew Giannini Creation
7 | //
8 |
9 | using crypto
10 |
11 | native const class JDigest : Digest
12 | {
13 | new make(Str algorithm)
14 |
15 | override Str algorithm()
16 |
17 | override Int digestSize()
18 |
19 | override Buf digest()
20 |
21 | override This update(Buf buf)
22 |
23 | override This updateAscii(Str str)
24 |
25 | override This updateByte(Int i)
26 |
27 | override This updateI4(Int i)
28 |
29 | override This updateI8(Int i)
30 |
31 | override This reset()
32 | }
--------------------------------------------------------------------------------
/src/doc/docFanr/doc/index.fog:
--------------------------------------------------------------------------------
1 | **************************************************************************
2 | ** title: Index
3 | ** author: Brian Frank
4 | ** created: 24 Jun 11
5 | ** copyright: Copyright (c) 2011, Brian Frank and Andy Frank
6 | ** license: Licensed under the Academic Free License version 3.0
7 | **************************************************************************
8 |
9 | [
10 | [`Concepts`, "fundamental concepts of architecture"],
11 | [`Queries`, "the fanr query language"],
12 | [`FileRepos`, "file based repositories"],
13 | [`WebRepos`, "web based repositories and HTTP protocol"],
14 | [`Tool`, "usage of command line tool"],
15 | ]
--------------------------------------------------------------------------------
/src/domkit/css/Checkbox.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2015, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 10 Jul 2015 Andy Frank Creation
7 | //
8 |
9 | input.domkit-Checkbox {
10 | position: relative;
11 | bottom: -2px;
12 | margin: 0;
13 | padding: 0;
14 | }
15 |
16 | label input.domkit-Checkbox + span.domkit-Label {
17 | margin-left: 6px;
18 | -webkit-user-select: none;
19 | -moz-user-select: none;
20 | -ms-user-select: none;
21 | user-select: none;
22 | }
23 |
24 | // TODO: how do we handle this in base?
25 | input.domkit-Checkbox[disabled] + span.domkit-Label {
26 | opacity: 0.3;
27 | }
--------------------------------------------------------------------------------
/src/sys/fan/NullErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 11 Jan 06 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** NullErr indicates an attempt to dereference null. It is
11 | ** often raised when attempting to access an instance field or method
12 | ** on a null reference. It may also be thrown when a parameter is
13 | ** expecting a non-nullable argument and null is passed.
14 | **
15 | const class NullErr : Err
16 | {
17 |
18 | **
19 | ** Construct with specified error message and optional root cause.
20 | **
21 | new make(Str msg := "", Err? cause := null)
22 |
23 | }
--------------------------------------------------------------------------------
/src/nodeJs/fan/Main.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, SkyFoundry LLC
3 | // All Rights Reserved
4 | //
5 | // History:
6 | // 27 Jul 2023 Matthew Giannini Creation
7 | //
8 |
9 | using util
10 |
11 | **
12 | ** Command line main
13 | **
14 | class Main
15 | {
16 | static Int main(Str[] args)
17 | {
18 | // lookup command
19 | if (args.isEmpty) args = ["help"]
20 | name := args.first
21 | cmd := NodeJsCmd.find(name)
22 | if (cmd == null)
23 | {
24 | echo("ERROR: unknown nodeJs command '$name'")
25 | return 1
26 | }
27 |
28 | // strip commandname from args and process as util::AbstractMain
29 | return cmd.main(args.dup[1..-1])
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/compilerJs/fan/ast/JsBlock.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 9 Jul 09 Andy Frank Creation
7 | //
8 |
9 | using compiler
10 |
11 | **
12 | ** JsBlock
13 | **
14 | class JsBlock : JsNode
15 | {
16 | new make(JsCompilerSupport support, Block block) : super(support)
17 | {
18 | this.stmts = block.stmts.map |s->JsStmt| { JsStmt.makeFor(support, s) }
19 | }
20 |
21 | override Void write(JsWriter out)
22 | {
23 | stmts.each |s|
24 | {
25 | s.write(out)
26 | out.w(";").nl
27 | }
28 | }
29 |
30 | JsStmt[] stmts // statements for this block
31 | }
--------------------------------------------------------------------------------
/src/domkit/css/RadioButton.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2015, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 8 Sep 2015 Andy Frank Creation
7 | //
8 |
9 | input.domkit-RadioButton {
10 | position: relative;
11 | bottom: -2px;
12 | margin: 0;
13 | padding: 0;
14 | }
15 |
16 | label input.domkit-RadioButton + span.domkit-Label {
17 | padding-left: 6px;
18 | -webkit-user-select: none;
19 | -moz-user-select: none;
20 | -ms-user-select: none;
21 | user-select: none;
22 | }
23 |
24 | // TODO: how do we handle this in base?
25 | input.domkit-RadioButton[disabled] + span.domkit-Label {
26 | opacity: 0.3;
27 | }
--------------------------------------------------------------------------------
/src/web/test/FilePackTest.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2020, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 11 May 2020 Brian Frank Creation
7 | //
8 |
9 | using concurrent
10 |
11 | **
12 | ** FilePackTest
13 | **
14 | class FilePackTest : Test
15 | {
16 |
17 | Void testPack()
18 | {
19 | buf := Buf()
20 | FilePack.pack([
21 | "a\n".toBuf.toFile(`a.txt`),
22 | "b".toBuf.toFile(`b.txt`),
23 | "c\n".toBuf.toFile(`c.txt`),
24 | "".toBuf.toFile(`d.txt`),
25 | "e".toBuf.toFile(`e.txt`),
26 | ], buf.out)
27 | buf = buf.toImmutable
28 | verifyEq(buf.in.readAllStr, "a\nb\nc\ne\n")
29 | }
30 | }
--------------------------------------------------------------------------------
/src/dom/java/HttpReqPeer.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 8 Feb 2023 Brian Frank Creation
7 | //
8 |
9 | package fan.dom;
10 |
11 | import fan.sys.*;
12 |
13 | public class HttpReqPeer
14 | {
15 | public static HttpReqPeer make(HttpReq fan)
16 | {
17 | return DomPeerFactory.factory().makeHttpReq(fan);
18 | }
19 |
20 | public void send (HttpReq self, String method, Object content, Func c) { throw err(); }
21 | public String encodeForm(HttpReq self, Map form) { throw err(); }
22 |
23 | private static Err err() { return UnsupportedErr.make(); }
24 | }
--------------------------------------------------------------------------------
/src/sys/dotnet/fanx/fcode/FField.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 27 Sep 06 Andy Frank Creation
7 | //
8 |
9 | using System;
10 |
11 | namespace Fanx.Fcode
12 | {
13 | ///
14 | /// FField is the read/write fcode representation of sys::Field.
15 | ///
16 | public class FField : FSlot
17 | {
18 |
19 | public FField read(FStore.Input input)
20 | {
21 | base.readCommon(input);
22 | m_type = input.u2();
23 | base.readAttrs(input);
24 | return this;
25 | }
26 |
27 | public int m_type; // type qname index
28 |
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/etc/syntax/syntax-xeto.fog:
--------------------------------------------------------------------------------
1 | //
2 | // Syntax rules for Xeto
3 | //
4 | // History:
5 | // 26 Apr 22 Brian Frank Creation
6 | //
7 |
8 | using syntax
9 |
10 | SyntaxRules
11 | {
12 | // bracket symbols
13 | brackets = "<>{}[]"
14 |
15 | // list of end of line comment tokens
16 | comments = ["//"]
17 |
18 | // block comments
19 | blockCommentStart = "/*"
20 | blockCommentEnd = "*/"
21 | blockCommentsNest = true
22 |
23 | // string and character literals
24 | strs =
25 | [
26 | SyntaxStr { delimiter = "\""; escape = '\\'; multiLine = true },
27 | SyntaxStr { delimiter = "\"\"\""; escape = '\\'; multiLine = true },
28 | ]
29 |
30 | // keyword list
31 | keywords = [,]
32 | }
33 |
34 |
35 |
--------------------------------------------------------------------------------
/src/compilerJs/fan/util/JsExtToMime.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2020, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 11 Sep 20 Matthew Giannini Creation
7 | //
8 |
9 | **
10 | ** JsExtToMime
11 | **
12 | class JsExtToMime
13 | {
14 | Void write(OutStream out)
15 | {
16 | props := Env.cur.findFile(`etc/sys/ext2mime.props`).readProps
17 | out.printLine(
18 | "(function() {
19 | ${JsPod.requireSys}
20 | var c=fan.sys.MimeType.cache\$;
21 | ")
22 |
23 | props.each |mime, ext|
24 | {
25 | out.printLine("c($ext.toCode,$mime.toCode);")
26 | }
27 |
28 | out.printLine("}).call(this);")
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/domkit/css/ListButton.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 17 Feb 2016 Andy Frank Creation
7 | //
8 |
9 | div.domkit-ListButton {}
10 |
11 | div.domkit-ListButton > div {
12 | white-space: nowrap;
13 | text-overflow: ellipsis;
14 | overflow: hidden;
15 | }
16 |
17 | div.domkit-ListButton-MenuItem.domkit-MenuItem {
18 | white-space: nowrap;
19 | padding-left: 22px;
20 | }
21 |
22 | div.domkit-ListButton-MenuItem.domkit-MenuItem.sel {
23 | padding-left: 6px;
24 | }
25 |
26 | div.domkit-ListButton-MenuItem.domkit-MenuItem.sel:before {
27 | content: "\2713";
28 | width: 16px;
29 | float: left;
30 | }
--------------------------------------------------------------------------------
/src/build/fan/tasks/Delete.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 4 Nov 06 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** Delete is used to delete a file or directory.
11 | **
12 | class Delete : Task
13 | {
14 |
15 | new make(BuildScript script, File file)
16 | : super(script)
17 | {
18 | this.file = file
19 | }
20 |
21 | override Void run()
22 | {
23 | try
24 | {
25 | if (!file.exists) return
26 | log.info("Delete [$file]")
27 | file.delete
28 | }
29 | catch (Err err)
30 | {
31 | log.err("Cannot delete file [$file]", err)
32 | }
33 | }
34 |
35 | File file
36 | }
--------------------------------------------------------------------------------
/src/domkit/fan/ScrollBox.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2014, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 22 Dec 2014 Andy Frank Creation
7 | //
8 |
9 | using dom
10 |
11 | **
12 | ** ScrollBox displays content in a scrollable viewport.
13 | **
14 | @Js class ScrollBox : Box
15 | {
16 | new make() : super()
17 | {
18 | this.style.addClass("domkit-ScrollBox").addClass("domkit-border")
19 | this.onEvent("scroll", false) |e| { fireScroll(e) }
20 | }
21 |
22 | ** Callback when box is scrolled.
23 | Void onScroll(|This| f) { this.cbScroll = f }
24 |
25 | private Void fireScroll(Event e) { cbScroll?.call(this) }
26 | private Func? cbScroll := null
27 | }
--------------------------------------------------------------------------------
/src/dom/js/WeakMapPeer.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 9 Mar 2016 Andy Frank Creation
7 | //
8 |
9 | fan.dom.WeakMapPeer = fan.sys.Obj.$extend(fan.sys.Obj);
10 |
11 | fan.dom.WeakMapPeer.prototype.$ctor = function(self) { this.map = new WeakMap(); }
12 | fan.dom.WeakMapPeer.prototype.has = function(self, key) { return this.map.has(key); }
13 | fan.dom.WeakMapPeer.prototype.get = function(self, key) { return this.map.get(key); }
14 | fan.dom.WeakMapPeer.prototype.set = function(self, key, val) { this.map.set(key, val); return self; }
15 | fan.dom.WeakMapPeer.prototype.delete = function(self, key) { return this.map.delete(key); }
16 |
--------------------------------------------------------------------------------
/src/testGraphics/res/test.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/src/concurrent/es/Actor.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 02 Jun 09 Andy Frank Creation
7 | // 13 May 10 Andy Frank Move from sys to concurrent
8 | // 22 Jun 23 Matthew Giannini Refactor for ES
9 | //
10 |
11 | /**
12 | * Actor.
13 | */
14 | class Actor extends sys.Obj {
15 | constructor() { super(); }
16 |
17 | typeof() { return Actor.type$; }
18 |
19 | static #locals;
20 |
21 | static locals() {
22 | if (!Actor.#locals) {
23 | const k = sys.Str.type$;
24 | const v = sys.Obj.type$.toNonNullable();
25 | Actor.#locals = sys.Map.make(k, v);
26 | }
27 | return Actor.#locals;
28 | }
29 | }
--------------------------------------------------------------------------------
/src/sys/dotnet/fan/sys/Unsafe.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 8 Feb 09 Brian Frank Creation
7 | //
8 |
9 | using System;
10 |
11 | namespace Fan.Sys
12 | {
13 | ///
14 | /// Unsafe
15 | ///
16 | public class Unsafe : FanObj
17 | {
18 | public static Unsafe make(object val) { return new Unsafe(val); }
19 |
20 | public Unsafe(object val) { this.m_val = val; }
21 |
22 | public override Type @typeof() { return Sys.UnsafeType; }
23 |
24 | public object val() { return m_val; }
25 |
26 | public override bool isImmutable() { return true; }
27 |
28 | private object m_val;
29 | }
30 | }
--------------------------------------------------------------------------------
/src/doc/docDomkit/doc/index.fog:
--------------------------------------------------------------------------------
1 | **************************************************************************
2 | ** title: Index
3 | ** author: Andy Frank
4 | ** created: 11 Jun 2017
5 | ** copyright: Copyright (c) 2017, Brian Frank and Andy Frank
6 | ** license: Licensed under the Academic Free License version 3.0
7 | **************************************************************************
8 |
9 | [
10 | [`Intro`, "Introduction"],
11 | [`Dom`, "Low-level DOM layer documentation"],
12 | [`Layout`, "Layout container documentation"],
13 | [`Controls`, "Control library documentation"],
14 | [`Modals`, "Modal library documentation"],
15 | [`Dnd`, "Drag and drop documentation"],
16 | [`Theming`, "Customizing DomKit CSS"],
17 | ]
--------------------------------------------------------------------------------
/src/testGraphics/fan/AbstractTest.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2022, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 14 Mar 2022 Brian Frank Creation
7 | //
8 |
9 | using graphics
10 |
11 | @Js
12 | abstract class AbstractTest
13 | {
14 | static Type[] list()
15 | {
16 | AbstractTest#.pod.types.findAll |t| { t.fits(AbstractTest#) && !t.isAbstract }.sort
17 | }
18 |
19 | Void paint(Size size, Graphics g)
20 | {
21 | g.color = Color("white")
22 | g.fillRect(0f, 0f, size.w-1f, size.h-1f)
23 | g.color = Color("black")
24 | g.drawRect(0f, 0f, size.w-1f, size.h-1f)
25 | onPaint(size, g)
26 | }
27 |
28 | abstract Void onPaint(Size size, Graphics g)
29 | }
30 |
31 |
--------------------------------------------------------------------------------
/src/build/fan/tasks/CreateDir.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 4 Nov 06 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** CreateDir is used to create a directory
11 | **
12 | class CreateDir : Task
13 | {
14 |
15 | new make(BuildScript script, File dir)
16 | : super(script)
17 | {
18 | this.dir = dir
19 | }
20 |
21 | override Void run()
22 | {
23 | try
24 | {
25 | if (!dir.exists)
26 | log.info("CreateDir [$dir]")
27 | dir.create
28 | if (!dir.isDir) throw Err.make
29 | }
30 | catch (Err err)
31 | {
32 | throw fatal("Cannot create dir [$dir]", err)
33 | }
34 | }
35 |
36 | File dir
37 | }
--------------------------------------------------------------------------------
/src/sys/locale/zh.props:
--------------------------------------------------------------------------------
1 | dateTime=YYYY年MM月DD日 WWWW hh:mm:ss zzz
2 | date=YYYY年MM月DD日 WWWW
3 | time=kk時mm分ss秒
4 | float=#,###.0##
5 | decimal=#,###.0##
6 | int=#,###
7 | weekdayStart=sun
8 | janFull=一月
9 | febFull=二月
10 | marFull=三月
11 | aprFull=四月
12 | mayFull=五月
13 | junFull=六月
14 | julFull=七月
15 | augFull=八月
16 | sepFull=九月
17 | octFull=十月
18 | novFull=十一月
19 | decFull=十二月
20 | janAbbr=1月
21 | febAbbr=2月
22 | marAbbr=3月
23 | aprAbbr=4月
24 | mayAbbr=5月
25 | junAbbr=6月
26 | julAbbr=7月
27 | augAbbr=8月
28 | sepAbbr=9月
29 | octAbbr=10月
30 | novAbbr=11月
31 | decAbbr=12月
32 | sunFull=星期日
33 | monFull=星期一
34 | tueFull=星期二
35 | wedFull=星期三
36 | thuFull=星期四
37 | friFull=星期五
38 | satFull=星期六
39 | sunAbbr=日
40 | monAbbr=一
41 | tueAbbr=二
42 | wedAbbr=三
43 | thuAbbr=四
44 | friAbbr=五
45 | satAbbr=六
--------------------------------------------------------------------------------
/src/sys/locale/ja.props:
--------------------------------------------------------------------------------
1 | dateTime=YYYY年MM月DD日 hh時mm分ss秒
2 | date=YYYY年MM月DD日
3 | time=hh時mm分ss秒
4 | float=#,###.0##
5 | decimal=#,###.0##
6 | int=#,###
7 | weekdayStart=sun
8 | janFull=1月
9 | febFull=2月
10 | marFull=3月
11 | aprFull=4月
12 | mayFull=5月
13 | junFull=6月
14 | julFull=7月
15 | augFull=8月
16 | sepFull=9月
17 | octFull=10月
18 | novFull=11月
19 | decFull=12月
20 | janAbbr= 1月
21 | febAbbr= 2月
22 | marAbbr= 3月
23 | aprAbbr= 4月
24 | mayAbbr= 5月
25 | junAbbr= 6月
26 | julAbbr= 7月
27 | augAbbr= 8月
28 | sepAbbr= 9月
29 | octAbbr=10月
30 | novAbbr=11月
31 | decAbbr=12月
32 | sunFull=日曜日
33 | monFull=月曜日
34 | tueFull=火曜日
35 | wedFull=水曜日
36 | thuFull=木曜日
37 | friFull=金曜日
38 | satFull=土曜日
39 | sunAbbr=日
40 | monAbbr=月
41 | tueAbbr=火
42 | wedAbbr=水
43 | thuAbbr=木
44 | friAbbr=金
45 | satAbbr=土
46 |
--------------------------------------------------------------------------------
/src/sys/locale/pa.props:
--------------------------------------------------------------------------------
1 | dateTime=و hh:mm:ss zzz ت DD MMMM YYYY
2 | date=DD/MM/YYYY
3 | time=hh:mm:ss
4 | janFull=جنوري
5 | febFull=فروري
6 | marFull=مارچ
7 | aprFull=اپريل
8 | mayFull=مٓی
9 | junFull=جون
10 | julFull=جولاي
11 | augFull=اگست
12 | sepFull=ستمبر
13 | octFull=اكتوبر
14 | novFull=نومبر
15 | decFull=دسمبر
16 | janAbbr=جنوري
17 | febAbbr=فروري
18 | marAbbr=مارچ
19 | aprAbbr=اپريل
20 | mayAbbr=مٓی
21 | junAbbr=جون
22 | julAbbr=جولاي
23 | augAbbr=اگست
24 | sepAbbr=ستمبر
25 | octAbbr=اكتوبر
26 | novAbbr=نومبر
27 | decAbbr=دسمبر
28 | sunFull=اتوار
29 | monFull=پير
30 | tueFull=منگل
31 | wedFull=بدھ
32 | thuFull=جمعرات
33 | friFull=جمعه
34 | satFull=هفته
35 | sunAbbr=اتوار
36 | monAbbr=پير
37 | tueAbbr=منگل
38 | wedAbbr=بدھ
39 | thuAbbr=جمعرات
40 | friAbbr=جمعه
41 | satAbbr=هفته
42 |
--------------------------------------------------------------------------------
/src/math/pod.fandoc:
--------------------------------------------------------------------------------
1 | **************************************************************************
2 | ** title: Math
3 | ** author: Matthew Giannini
4 | ** created: 14 Aug 20
5 | ** copyright: Copyright (c) 2020, Brian Frank and Andy Frank
6 | ** license: Licensed under the Academic Free License version 3.0
7 | **************************************************************************
8 |
9 | Overview [#overview]
10 | ********************
11 | The [math]`math::index` pod defines standard classes and utilities for performing
12 | math computations.
13 |
14 | Matrix [#matrix]
15 | ****************
16 | The library includes a `Matrix` API and a default implementation. A matrix can be created
17 | using the `Math.matrix` utility.
18 |
19 | matrix := Math.matrix(2,2)
20 |
21 |
--------------------------------------------------------------------------------
/src/sys/es/fan/FileStore.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2013, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 12 Sep 2013 Brian Frank Creation
7 | // 20 Apr 2023 Matthew Giannini Refactor for ES
8 | //
9 |
10 | /**
11 | * FileStore
12 | */
13 | class FileStore extends Obj {
14 | constructor() { super(); }
15 |
16 | totalSpace() { return null; }
17 | availSpace() { return null; }
18 | freeSpace() { return null; }
19 | }
20 |
21 | /**
22 | * LocalFileStore
23 | */
24 | class LocalFileStore extends FileStore {
25 | constructor() { super(); }
26 | typeof() { return LocalFileStore.type$; }
27 | totalSpace() { return null; }
28 | availSpace() { return null; }
29 | freeSpace() { return null; }
30 | }
--------------------------------------------------------------------------------
/src/sys/locale/kn.props:
--------------------------------------------------------------------------------
1 | dateTime=WWWW DD MMM YYYY kk:mm:ss aa zzz
2 | date=WWWW DD MMM YYYY
3 | time=kk:mm:ss
4 | weekdayStart=sun
5 | janFull=ಜನವರಿ
6 | febFull=ಫೆಬ್ರವರಿ
7 | marFull=ಮಾರ್ಚ
8 | aprFull=ಏಪ್ರಿಲ್
9 | mayFull=ಮೇ
10 | junFull=ಜೂನ್
11 | julFull=ಜುಲಾಯಿ
12 | augFull=ಆಗಸ್ತು
13 | sepFull=ಸೆಪ್ಟೆಂಬರ
14 | octFull=ಅಕ್ತೂಬರ
15 | novFull=ನವೆಂಬರ
16 | decFull=ದಶಂಬರ
17 | janAbbr=ಜ
18 | febAbbr=ಫೆ
19 | marAbbr=ಮಾ
20 | aprAbbr=ಏ
21 | mayAbbr=ಮೇ
22 | junAbbr=ಜೂ
23 | julAbbr=ಜು
24 | augAbbr=ಆ
25 | sepAbbr=ಸೆ
26 | octAbbr=ಅ
27 | novAbbr=ನ
28 | decAbbr=ದ
29 | sunFull=ರವಿವಾರ
30 | monFull=ಸೋಮವಾರ
31 | tueFull=ಮಂಗಳವಾರ
32 | wedFull=ಬುಧವಾರ
33 | thuFull=ಗುರುವಾರ
34 | friFull=ಶುಕ್ರವಾರ
35 | satFull=ಶನಿವಾರ
36 | sunAbbr=ರ
37 | monAbbr=ಸೋ
38 | tueAbbr=ಮಂ
39 | wedAbbr=ಬು
40 | thuAbbr=ಗು
41 | friAbbr=ಶು
42 | satAbbr=ಶ
--------------------------------------------------------------------------------
/src/sys/locale/ku.props:
--------------------------------------------------------------------------------
1 | dateTime=WWWW DD MMMM YYYY hh:mm:ss zzz
2 | date=DD/MM/YYYY
3 | time=hh:mm:ss
4 | weekdayStart=sun
5 | janFull=çile
6 | febFull=sibat
7 | marFull=adar
8 | aprFull=nîsan
9 | mayFull=gulan
10 | junFull=hezîran
11 | julFull=tîrmeh
12 | augFull=tebax
13 | sepFull=îlon
14 | octFull=cotmeh
15 | novFull=mijdar
16 | decFull=kanûn
17 | janAbbr=Çil
18 | febAbbr=Sib
19 | marAbbr=Ada
20 | aprAbbr=Nîs
21 | mayAbbr=Gul
22 | junAbbr=Hez
23 | julAbbr=Tîr
24 | augAbbr=Teb
25 | sepAbbr=Îlo
26 | octAbbr=Cot
27 | novAbbr=Mij
28 | decAbbr=Kan
29 | sunFull=Yekşem
30 | monFull=Duşem
31 | tueFull=Sêşem
32 | wedFull=Çarşem
33 | thuFull=Pêncşem
34 | friFull=În
35 | satFull=Şemî
36 | sunAbbr=Yş
37 | monAbbr=Dş
38 | tueAbbr=Sş
39 | wedAbbr=Çş
40 | thuAbbr=Pş
41 | friAbbr=În
42 | satAbbr=Ş
43 |
--------------------------------------------------------------------------------
/src/concurrent/js/Future.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 15 Mar 10 Andy Frank Creation
7 | // 13 May 10 Andy Frank Move from sys to concurrent
8 | //
9 |
10 | /**
11 | * Future.
12 | */
13 | fan.concurrent.Future = fan.sys.Obj.$extend(fan.sys.Obj);
14 |
15 | fan.concurrent.Future.prototype.$ctor = function() {}
16 | fan.concurrent.Future.prototype.$typeof = function() { return fan.concurrent.Future.$type; }
17 |
18 | fan.concurrent.Future.makeCompletable = function()
19 | {
20 | var self = new fan.concurrent.Future();
21 | fan.concurrent.Future.make$(self);
22 | return self;
23 | }
24 |
25 | fan.concurrent.Future.make$ = function(self)
26 | {
27 | }
28 |
29 |
--------------------------------------------------------------------------------
/src/sys/dotnet/fanx/tools/Fanp.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 10 Jan 06 Andy Frank Creation
7 | //
8 |
9 | using System;
10 | using Fan.Sys;
11 |
12 | namespace Fanx.Tools
13 | {
14 | ///
15 | /// Fanp runtime for .NET.
16 | ///
17 | public class Fanp : Tool
18 | {
19 |
20 | //////////////////////////////////////////////////////////////////////////
21 | // Run
22 | //////////////////////////////////////////////////////////////////////////
23 |
24 | public static int run(string reserved)
25 | {
26 | sysInit(reserved);
27 | return new Fan().execute("compiler::Fanp.main", Tool.getArgv());
28 | }
29 |
30 | }
31 | }
--------------------------------------------------------------------------------
/src/cryptoJava/fan/X509.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2021, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 16 Aug 2021 Matthew Giannini Creation
7 | //
8 |
9 | using crypto
10 |
11 | **
12 | ** X.509 Certificate.
13 | **
14 | native const class X509 : Cert
15 | {
16 | static X509[] load(InStream in)
17 |
18 | static X509[] loadCertsForUri(Uri uri)
19 |
20 | override Str subject()
21 |
22 | override Str issuer()
23 |
24 | override Str certType()
25 |
26 | override Buf encoded()
27 |
28 | override PubKey pub()
29 |
30 | override Str toStr()
31 |
32 | Buf serialNum()
33 |
34 | Date notBefore()
35 |
36 | Date notAfter()
37 |
38 | override Bool isSelfSigned()
39 |
40 | override Bool isCA()
41 | }
--------------------------------------------------------------------------------
/src/sys/java/fan/sys/FileStore.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2013, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 12 Sep 13 Brian Frank Creation
7 | //
8 | package fan.sys;
9 |
10 | import java.io.*;
11 |
12 | /**
13 | * FileStore represents the storage pool, device, partition, or volume
14 | ** used to store files.
15 | */
16 | public abstract class FileStore
17 | extends FanObj
18 | {
19 |
20 | protected static void make$() {}
21 |
22 | protected static void makeNew$(FileStore self)
23 | {
24 | }
25 |
26 | public abstract Long totalSpace();
27 |
28 | public abstract Long availSpace();
29 |
30 | public abstract Long freeSpace();
31 |
32 | public Type typeof() { return Sys.FileStoreType; }
33 |
34 | }
--------------------------------------------------------------------------------
/src/compilerEs/fan/util/JsExtToMime.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2020, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 11 Jul 2023 Matthew Giannini Creation
7 | //
8 |
9 | **
10 | ** JsExtToMime
11 | **
12 | class JsExtToMime
13 | {
14 | new make(ModuleSystem ms) { this.ms = ms }
15 |
16 | private ModuleSystem ms
17 |
18 | Void write(OutStream out)
19 | {
20 | ms.writeBeginModule(out)
21 | ms.writeInclude(out, "sys.ext")
22 |
23 | props := Env.cur.findFile(`etc/sys/ext2mime.props`).readProps
24 | out.printLine("const c=sys.MimeType.__cache;")
25 | props.each |mime, ext|
26 | {
27 | out.printLine("c(${ext.toCode},${mime.toCode});")
28 | }
29 | ms.writeEndModule(out)
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/sys/js/fan/Endian.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 27 Feb 09 Andy Frank Creation
7 | // 20 May 09 Andy Frank Refactor to new OO model
8 | //
9 |
10 | /**
11 | * Endian
12 | */
13 | fan.sys.Endian = fan.sys.Obj.$extend(fan.sys.Enum);
14 |
15 | fan.sys.Endian.prototype.$ctor = function(ordinal, name)
16 | {
17 | fan.sys.Enum.make$(this, ordinal, name);
18 | }
19 |
20 | fan.sys.Endian.fromStr = function(name, checked)
21 | {
22 | if (checked === undefined) checked = true;
23 | return fan.sys.Enum.doFromStr(fan.sys.Endian.$type, name, checked);
24 | }
25 |
26 | fan.sys.Endian.prototype.$typeof = function()
27 | {
28 | return fan.sys.Endian.$type;
29 | }
30 |
31 |
32 |
--------------------------------------------------------------------------------
/src/sys/locale/tl.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD MMM YYYY kk:mm:ss aa zzz
2 | date=MM/DD/YY
3 | time=kk:mm:ss aa
4 | janFull=Enero
5 | febFull=Pebrero
6 | marFull=Marso
7 | aprFull=Abril
8 | mayFull=Mayo
9 | junFull=Hunyo
10 | julFull=Hulyo
11 | augFull=Agosto
12 | sepFull=Septiyembre
13 | octFull=Oktubre
14 | novFull=Nobiyembre
15 | decFull=Disyembre
16 | janAbbr=Ene
17 | febAbbr=Peb
18 | marAbbr=Mar
19 | aprAbbr=Abr
20 | mayAbbr=May
21 | junAbbr=Hun
22 | julAbbr=Hul
23 | augAbbr=Ago
24 | sepAbbr=Sep
25 | octAbbr=Okt
26 | novAbbr=Nob
27 | decAbbr=Dis
28 | sunFull=Linggo
29 | monFull=Lunes
30 | tueFull=Martes
31 | wedFull=Miyerkoles
32 | thuFull=Huwebes
33 | friFull=Biyernes
34 | satFull=Sabado
35 | sunAbbr=Lin
36 | monAbbr=Lun
37 | tueAbbr=Mar
38 | wedAbbr=Miy
39 | thuAbbr=Huw
40 | friAbbr=Biy
41 | satAbbr=Sab
42 |
--------------------------------------------------------------------------------
/src/domkit/fan/Link.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2015, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 5 Jan 2015 Andy Frank Creation
7 | //
8 |
9 | using dom
10 |
11 | **
12 | ** Hyperlink anchor element
13 | **
14 | @Js class Link : Elem
15 | {
16 | new make() : super("a")
17 | {
18 | this.style.addClass("domkit-control domkit-Link")
19 | this.uri = `#`
20 | }
21 |
22 | ** The target attribute specifies where to open the linked document.
23 | Str target
24 | {
25 | get { this->target }
26 | set { this->target = it }
27 | }
28 |
29 | ** URI to hyperlink to.
30 | Uri uri := `#`
31 | {
32 | set
33 | {
34 | &uri = it
35 | setAttr("href", &uri.encode)
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/sys/java/fan/sys/Unsafe.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 8 Feb 09 Brian Frank Creation
7 | //
8 | package fan.sys;
9 |
10 | /**
11 | * Unsafe wraps a mutable object as an immutable reference.
12 | */
13 | public final class Unsafe
14 | extends FanObj
15 | {
16 |
17 | public static Unsafe make(Object val) { return new Unsafe(val); }
18 |
19 | public Unsafe(Object val) { this.val = val; }
20 |
21 | public Type typeof() { return Sys.UnsafeType; }
22 |
23 | public Object val() { return val; }
24 |
25 | public boolean isImmutable() { return true; }
26 |
27 | public String toStr() { return "Unsafe(" + val + ")"; }
28 |
29 | private Object val;
30 |
31 | }
32 |
33 |
--------------------------------------------------------------------------------
/src/sys/locale/ko.props:
--------------------------------------------------------------------------------
1 | dateTime=YYYY년 MM월 DD일 (WWW) aa kk시 mm분 ss초 zzz
2 | date=YYYY년 MM월 DD일
3 | time=hh시 mm분 ss초
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | weekdayStart=sun
8 | janFull=1월
9 | febFull=2월
10 | marFull=3월
11 | aprFull=4월
12 | mayFull=5월
13 | junFull=6월
14 | julFull=7월
15 | augFull=8월
16 | sepFull=9월
17 | octFull=10월
18 | novFull=11월
19 | decFull=12월
20 | janAbbr= 1월
21 | febAbbr= 2월
22 | marAbbr= 3월
23 | aprAbbr= 4월
24 | mayAbbr= 5월
25 | junAbbr= 6월
26 | julAbbr= 7월
27 | augAbbr= 8월
28 | sepAbbr= 9월
29 | octAbbr=10월
30 | novAbbr=11월
31 | decAbbr=12월
32 | sunFull=일요일
33 | monFull=월요일
34 | tueFull=화요일
35 | wedFull=수요일
36 | thuFull=목요일
37 | friFull=금요일
38 | satFull=토요일
39 | sunAbbr=일
40 | monAbbr=월
41 | tueAbbr=화
42 | wedAbbr=수
43 | thuAbbr=목
44 | friAbbr=금
45 | satAbbr=토
--------------------------------------------------------------------------------
/src/nodeJs/res/scriptRunnerTemplate.js:
--------------------------------------------------------------------------------
1 | const __require = (m) => {
2 | const name = m.split('.')[0];
3 | const fan = this.fan;
4 | if (typeof require === 'undefined') return name == "fan" ? fan : fan[name];
5 | try { return require(`${m}`); } catch (e) { /* ignore */ }
6 | }
7 |
8 |
9 | //{{include}}
10 |
11 | try {
12 | //{{envDirs}}
13 | {{tempPod}}.Main.main();
14 | } catch (err) {
15 | console.log('ERROR: ' + err + '\n');
16 | console.log(err.stack);
17 | if (err == undefined) print('Undefined error\n');
18 | else if (err.trace) err.trace();
19 | else
20 | {
21 | var file = err.fileName; if (file == null) file = 'Unknown';
22 | var line = err.lineNumber; if (line == null) line = 'Unknown';
23 | sys.Env.cur().out().printLine(err + ' (' + file + ':' + line + ')\n');
24 | }
25 | }
--------------------------------------------------------------------------------
/src/sys/locale/gu.props:
--------------------------------------------------------------------------------
1 | dateTime=WWWW DD MMM YYYY kk:mm:ss aa zzz
2 | date=WWWW DD MMM YYYY
3 | time=kk:mm:ss
4 | weekdayStart=sun
5 | janFull=જાન્યુઆરી
6 | febFull=ફેબ્રુઆરી
7 | marFull=માર્ચ
8 | aprFull=એપ્રિલ
9 | mayFull=મે
10 | junFull=જુન
11 | julFull=જુલાઇ
12 | augFull=ઓગસ્ટ
13 | sepFull=સપ્ટેમ્બર
14 | octFull=ઓક્ટોબર
15 | novFull=નવેમ્બર
16 | decFull=ડિસેમ્બર
17 | janAbbr=જાન
18 | febAbbr=ફેબ
19 | marAbbr=માર
20 | aprAbbr=એપ્ર
21 | mayAbbr=મે
22 | junAbbr=જુન
23 | julAbbr=જુલ
24 | augAbbr=ઓગ
25 | sepAbbr=સપ્ટ
26 | octAbbr=ઓક્ટ
27 | novAbbr=નોવ
28 | decAbbr=ડિસ
29 | sunFull=રવિવાર
30 | monFull=સોમવાર
31 | tueFull=મંગળવાર
32 | wedFull=બુધવાર
33 | thuFull=ગુરુવાર
34 | friFull=શુક્રવાર
35 | satFull=શનિવાર
36 | sunAbbr=રવિ
37 | monAbbr=સોમ
38 | tueAbbr=મંગળ
39 | wedAbbr=બુધ
40 | thuAbbr=ગુરુ
41 | friAbbr=શુક્ર
42 | satAbbr=શનિ
--------------------------------------------------------------------------------
/src/markdown/test/ThematicBreakParserTest.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2024, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 28 Oct 2024 Matthew Giannini Creation
7 | //
8 |
9 | @Js
10 | class ThematicBreakParserTest : Test
11 | {
12 | Parser? parser
13 |
14 | override Void setup() { this.parser = Parser() }
15 |
16 | Void testLiteral()
17 | {
18 | verifyLiteral("***", "***")
19 | verifyLiteral("-- -", "-- -")
20 | verifyLiteral(" __ __ __ ", " __ __ __ ")
21 | verifyLiteral("***", "> ***")
22 | }
23 |
24 | private Void verifyLiteral(Str expected, Str input)
25 | {
26 | tb := parser.parse(input).find(ThematicBreak#) as ThematicBreak
27 | verifyNotNull(tb)
28 | verifyEq(expected, tb.literal)
29 | }
30 | }
--------------------------------------------------------------------------------
/etc/build/config.props:
--------------------------------------------------------------------------------
1 | //
2 | // Config: build
3 | //
4 | // History:
5 | // 22 Jul 09 Brian Frank Creation
6 | //
7 |
8 | //
9 | // Note all these config options can also be overriden via env variable:
10 | // set FAN_BUILD_JDKHOME=/C:/Program Files/Java/jdk1.7/
11 | //
12 |
13 | // default version used by build scripts
14 | buildVersion=1.0.82
15 |
16 | // Must be configured boot build in substitute/release installation
17 | //devHome=/work/fan/
18 |
19 | // JVM version compiler target, by default Fantom uses JDK 1.8 compiler
20 | // javacParams=-source 1.8 -target 1.8
21 |
22 | // Windows setup
23 | // jdkHome=/C:/Program Files/Java/jdk1.8/
24 | // dotnetHome=/C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/
25 |
26 | // Mac setup
27 | //jdkHome=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/
28 |
29 |
--------------------------------------------------------------------------------
/src/sql/java/Cols.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2007, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 01 Jul 07 Brian Frank Creation
7 | //
8 | package fan.sql;
9 |
10 | import java.util.HashMap;
11 | import fan.sys.FanStr;
12 | import fan.sys.List;
13 |
14 | public class Cols
15 | {
16 |
17 | Cols(List list)
18 | {
19 | this.list = list.ro();
20 | }
21 |
22 | Col get(String name)
23 | {
24 | if (map == null)
25 | {
26 | map = new HashMap();
27 | for (int i=0; i size.h)
31 | {
32 | x += 180f
33 | y = 10f
34 | }
35 | }
36 | }
37 | }
38 |
39 |
--------------------------------------------------------------------------------
/src/cryptoJava/test/DnTest.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2021, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 17 Aug 2021 Matthew Giannini Creation
7 | //
8 |
9 | class DnTest : Test
10 | {
11 | // TODO: these tests are by no means sufficient.
12 |
13 | Void testRfc4514Type()
14 | {
15 | verifyEq("CN", parse("cn=foo").first.shortName)
16 | verifyNull(parse("0.0.40.9999=foo").first.shortName)
17 |
18 | verifyErr(ParseErr#) { parse("00.1=foo") }
19 | verifyErr(ParseErr#) { parse("0.01=foo") }
20 | verifyErr(ParseErr#) { parse("0.0.=foo") }
21 | }
22 |
23 | Void testRfc4514Val()
24 | {
25 | verifyEq("foo", parse("cn=foo").first.val)
26 | }
27 |
28 | private Rdn[] parse(Str name)
29 | {
30 | DnParser(name).parse
31 | }
32 |
33 | }
--------------------------------------------------------------------------------
/src/sys/java/build.fan:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env fansubstitute
2 | //
3 | // Copyright (c) 2006, Brian Frank and Andy Frank
4 | // Licensed under the Academic Free License version 3.0
5 | //
6 | // History:
7 | // 12 Nov 06 Brian Frank Creation
8 | //
9 |
10 | using build
11 |
12 | **
13 | ** Build: sys.jar
14 | **
15 | ** Note: this script builds the Java runtime for Fantom's sys pod.
16 | **
17 | class Build : BuildJava
18 | {
19 |
20 | new make()
21 | {
22 | jar = devHomeDir.uri + `lib/java/sys.jar`
23 | mainClass = "fanx.tools.Fan"
24 | packages = ["fan.sys",
25 | "fanx.emit",
26 | "fanx.fcode",
27 | "fanx.interop",
28 | "fanx.serial",
29 | "fanx.test",
30 | "fanx.tools",
31 | "fanx.util"]
32 | }
33 |
34 | }
35 |
36 |
--------------------------------------------------------------------------------
/src/sys/locale/he.props:
--------------------------------------------------------------------------------
1 | dateTime=zzz hh:mm:ss YYYY MMM DD WWW
2 | date=DD/MM/YY
3 | time=hh:mm:ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | weekdayStart=sun
8 | janFull=ינואר
9 | febFull=פברואר
10 | marFull=מרץ
11 | aprFull=אפריל
12 | mayFull=מאי
13 | junFull=יוני
14 | julFull=יולי
15 | augFull=אוגוסט
16 | sepFull=ספטמבר
17 | octFull=אוקטובר
18 | novFull=נובמבר
19 | decFull=דצמבר
20 | janAbbr=ינו
21 | febAbbr=פבר
22 | marAbbr=מרץ
23 | aprAbbr=אפר
24 | mayAbbr=מאי
25 | junAbbr=יונ
26 | julAbbr=יול
27 | augAbbr=אוג
28 | sepAbbr=ספט
29 | octAbbr=אוק
30 | novAbbr=נוב
31 | decAbbr=דצמ
32 | sunFull=ראשון
33 | monFull=שני
34 | tueFull=שלישי
35 | wedFull=רביעי
36 | thuFull=חמישי
37 | friFull=שישי
38 | satFull=שבת
39 | sunAbbr=א'
40 | monAbbr=ב'
41 | tueAbbr=ג'
42 | wedAbbr=ד'
43 | thuAbbr=ה'
44 | friAbbr=ו'
45 | satAbbr=ש'
46 |
--------------------------------------------------------------------------------
/src/domkit/css/Combo.css:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 1 Mar 2016 Andy Frank Creation
7 | //
8 |
9 | div.domkit-Combo {
10 | box-sizing: border-box;
11 | display: inline-block;
12 | white-space: nowrap;
13 | }
14 |
15 | div.domkit-Combo input.domkit-TextField {
16 | width: calc(100% - 23px);
17 | border-top-right-radius: 0px;
18 | border-bottom-right-radius: 0px;
19 | }
20 |
21 | div.domkit-Combo div.domkit-Button {
22 | border-left: none;
23 | border-top-left-radius: 0;
24 | border-bottom-left-radius: 0;
25 | width: 23px;
26 | padding-left: 0;
27 | padding-right: 0;
28 | }
29 |
30 | div.domkit-Combo div.domkit-ListButton:before { right: 8px; }
31 | div.domkit-Combo div.domkit-ListButton:after { right: 8px; }
--------------------------------------------------------------------------------
/src/sys/locale/mg.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD MMM YYYY hh:mm:ss zzz
2 | date=DD.MM.YYYY
3 | time=hh:mm:ss
4 | float=#.0##
5 | decimal=#.0##
6 | int=#
7 | janFull=janoary
8 | febFull=febroary
9 | marFull=martsa
10 | aprFull=aprily
11 | mayFull=mey
12 | junFull=jona
13 | julFull=jolay
14 | augFull=aogositra
15 | sepFull=septambra
16 | octFull=oktobra
17 | novFull=novambra
18 | decFull=desambra
19 | janAbbr=jan
20 | febAbbr=feb
21 | marAbbr=mar
22 | aprAbbr=apr
23 | mayAbbr=mey
24 | junAbbr=jon
25 | julAbbr=jol
26 | augAbbr=aog
27 | sepAbbr=sep
28 | octAbbr=okt
29 | novAbbr=nov
30 | decAbbr=des
31 | sunFull=alahady
32 | monFull=alatsinainy
33 | tueFull=talata
34 | wedFull=alarobia
35 | thuFull=alakamisy
36 | friFull=zoma
37 | satFull=sabotsy
38 | sunAbbr=lhd
39 | monAbbr=lts
40 | tueAbbr=tlt
41 | wedAbbr=lrb
42 | thuAbbr=lkm
43 | friAbbr=zom
44 | satAbbr=sab
45 |
--------------------------------------------------------------------------------
/src/sys/locale/nn.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD. MMM YYYY hh.mm zzz
2 | date=DD. MMM YYYY
3 | time=hh.mm
4 | numDecimal=,
5 | numGrouping=\u00a0
6 | weekdayStart=mon
7 | janFull=januar
8 | febFull=februar
9 | marFull=mars
10 | aprFull=april
11 | mayFull=mai
12 | junFull=juni
13 | julFull=juli
14 | augFull=august
15 | sepFull=september
16 | octFull=oktober
17 | novFull=november
18 | decFull=desember
19 | janAbbr=jan.
20 | febAbbr=feb.
21 | marAbbr=mars
22 | aprAbbr=april
23 | mayAbbr=mai
24 | junAbbr=juni
25 | julAbbr=juli
26 | augAbbr=aug.
27 | sepAbbr=sep.
28 | octAbbr=okt.
29 | novAbbr=nov.
30 | decAbbr=des.
31 | sunFull=sundag
32 | monFull=måndag
33 | tueFull=tysdag
34 | wedFull=onsdag
35 | thuFull=torsdag
36 | friFull=fredag
37 | satFull=laurdag
38 | sunAbbr=su.
39 | monAbbr=må.
40 | tueAbbr=ty.
41 | wedAbbr=on.
42 | thuAbbr=to.
43 | friAbbr=fr.
44 | satAbbr=la.
--------------------------------------------------------------------------------
/src/sys/locale/sr.props:
--------------------------------------------------------------------------------
1 | dateTime=WWWW, DD. MMMM YYYY. hh:mm:ss zzz
2 | date=DD.MM.YYYY.
3 | time=hh:mm:ss
4 | numDecimal=,
5 | numGrouping=.
6 | weekdayStart=sun
7 | janFull=јануар
8 | febFull=фебруар
9 | marFull=март
10 | aprFull=април
11 | mayFull=мај
12 | junFull=јун
13 | julFull=јул
14 | augFull=август
15 | sepFull=септембар
16 | octFull=октобар
17 | novFull=новембар
18 | decFull=децембар
19 | janAbbr=јан
20 | febAbbr=феб
21 | marAbbr=мар
22 | aprAbbr=апр
23 | mayAbbr=мај
24 | junAbbr=јун
25 | julAbbr=јул
26 | augAbbr=авг
27 | sepAbbr=сеп
28 | octAbbr=окт
29 | novAbbr=нов
30 | decAbbr=дец
31 | sunFull=недјеља
32 | monFull=понедељак
33 | tueFull=уторак
34 | wedFull=сриједа
35 | thuFull=четвртак
36 | friFull=петак
37 | satFull=субота
38 | sunAbbr=нед
39 | monAbbr=пон
40 | tueAbbr=уто
41 | wedAbbr=сри
42 | thuAbbr=чет
43 | friAbbr=пет
44 | satAbbr=суб
45 |
--------------------------------------------------------------------------------
/src/concurrent/fan/Errs.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2023, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 16 Aug 23 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** QueueOverflowErr is raised by a Future for messages sent to
11 | ** actor that has exceeded the max queue size.
12 | **
13 | const class QueueOverflowErr : Err
14 | {
15 | ** Construct with specified error message and optional root cause.
16 | new make(Str msg := "", Err? cause := null) : super(msg, cause) {}
17 | }
18 |
19 | **
20 | ** Raised when attempting to access results of a future in the pending state.
21 | **
22 | const class NotCompleteErr : Err
23 | {
24 | ** Construct with specified error message and optional root cause.
25 | new make(Str msg := "", Err? cause := null) : super(msg, cause) {}
26 | }
27 |
28 |
--------------------------------------------------------------------------------
/src/sys/locale/mr.props:
--------------------------------------------------------------------------------
1 | dateTime=WWWW DD MMM YYYY kk:mm:ss aa zzz
2 | date=WWWW DD MMM YYYY
3 | time=kk:mm:ss
4 | weekdayStart=sun
5 | janFull=जानेवारी
6 | febFull=फेबृवारी
7 | marFull=मार्च
8 | aprFull=एप्रिल
9 | mayFull=मे
10 | junFull=जून
11 | julFull=जुलै
12 | augFull=ओगस्ट
13 | sepFull=सेप्टेंबर
14 | octFull=ओक्टोबर
15 | novFull=नोव्हेंबर
16 | decFull=डिसेंबर
17 | janAbbr=जानेवारी
18 | febAbbr=फेबृवारी
19 | marAbbr=मार्च
20 | aprAbbr=एप्रिल
21 | mayAbbr=मे
22 | junAbbr=जून
23 | julAbbr=जुलै
24 | augAbbr=ओगस्ट
25 | sepAbbr=सेप्टेंबर
26 | octAbbr=ओक्टोबर
27 | novAbbr=नोव्हेंबर
28 | decAbbr=डिसेंबर
29 | sunFull=रविवार
30 | monFull=सोमवार
31 | tueFull=मंगळवार
32 | wedFull=मंगळवार
33 | thuFull=गुरुवार
34 | friFull=शुक्रवार
35 | satFull=शनिवार
36 | sunAbbr=रवि
37 | monAbbr=सोम
38 | tueAbbr=मंगळ
39 | wedAbbr=बुध
40 | thuAbbr=गुरु
41 | friAbbr=शुक्र
42 | satAbbr=शनि
--------------------------------------------------------------------------------
/src/sys/locale/sd.props:
--------------------------------------------------------------------------------
1 | dateTime=WWWW DD MMMM YYYY، hh:mm:ss zzz
2 | date=DD/MM/YY
3 | time=hh:mm:ss
4 | float=##,##,###.0##
5 | decimal=##,##,###.0##
6 | int=##,##,###
7 | janFull=جنوري
8 | febFull=فيبروري
9 | marFull=مارچ
10 | aprFull=اپريل
11 | mayFull=مئي
12 | junFull=جون
13 | julFull=جولاءِ
14 | augFull=آگسٽ
15 | sepFull=سيپٽيمبر
16 | octFull=آڪٽوبر
17 | novFull=نومبر
18 | decFull=ڊسمبر
19 | janAbbr=جنوري
20 | febAbbr=فيبروري
21 | marAbbr=مارچ
22 | aprAbbr=اپريل
23 | mayAbbr=مئي
24 | junAbbr=جون
25 | julAbbr=جولاءِ
26 | augAbbr=آگسٽ
27 | sepAbbr=سيپٽيمبر
28 | octAbbr=آڪٽوبر
29 | novAbbr=نومبر
30 | decAbbr=ڊسمبر
31 | sunFull=آچر
32 | monFull=سومر
33 | tueFull=اڱارو
34 | wedFull=اربع
35 | thuFull=خميس
36 | friFull=جمعو
37 | satFull=ڇنڇر
38 | sunAbbr=آچر
39 | monAbbr=سومر
40 | tueAbbr=اڱارو
41 | wedAbbr=اربع
42 | thuAbbr=خميس
43 | friAbbr=جمعو
44 | satAbbr=ڇنڇر
--------------------------------------------------------------------------------
/src/sys/locale/ur.props:
--------------------------------------------------------------------------------
1 | dateTime=و hh:mm:ss zzz ت DD MMMM YYYY
2 | date=DD/MM/YYYY
3 | time=hh:mm:ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | janFull=جنوري
8 | febFull=فروري
9 | marFull=مارچ
10 | aprFull=اپريل
11 | mayFull=مٓی
12 | junFull=جون
13 | julFull=جولاي
14 | augFull=اگست
15 | sepFull=ستمبر
16 | octFull=اكتوبر
17 | novFull=نومبر
18 | decFull=دسمبر
19 | janAbbr=جنوري
20 | febAbbr=فروري
21 | marAbbr=مارچ
22 | aprAbbr=اپريل
23 | mayAbbr=مٓی
24 | junAbbr=جون
25 | julAbbr=جولاي
26 | augAbbr=اگست
27 | sepAbbr=ستمبر
28 | octAbbr=اكتوبر
29 | novAbbr=نومبر
30 | decAbbr=دسمبر
31 | sunFull=اتوار
32 | monFull=پير
33 | tueFull=منگل
34 | wedFull=بدھ
35 | thuFull=جمعرات
36 | friFull=جمعه
37 | satFull=هفته
38 | sunAbbr=اتوار
39 | monAbbr=پير
40 | tueAbbr=منگل
41 | wedAbbr=بدھ
42 | thuAbbr=جمعرات
43 | friAbbr=جمعه
44 | satAbbr=هفته
45 |
--------------------------------------------------------------------------------
/examples/web/hello.fan:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env fan
2 | //
3 | // Copyright (c) 2008, Brian Frank and Andy Frank
4 | // Licensed under the Academic Free License version 3.0
5 | //
6 | // History:
7 | // 11 Apr 08 Brian Frank Creation
8 | //
9 |
10 | using util
11 | using web
12 | using wisp
13 |
14 | **
15 | ** Boot script for web hello world
16 | **
17 | class WebHello : AbstractMain
18 | {
19 | @Opt { help = "http port" }
20 | Int port := 8080
21 |
22 | override Int run()
23 | {
24 | wisp := WispService
25 | {
26 | it.httpPort = this.port
27 | it.root = HelloMod()
28 | }
29 | return runServices([wisp])
30 | }
31 | }
32 |
33 | const class HelloMod : WebMod
34 | {
35 | override Void onGet()
36 | {
37 | res.headers["Content-Type"] = "text/plain; charset=utf-8"
38 | res.out.print("hello world #4")
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/src/dom/es/DomImagePeer.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2009, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 21 Mar 2022 Brian Frank Creation
7 | // 10 Jun 2023 Kiera O'Flynn Refactor to ES
8 | //
9 |
10 | class DomImagePeer extends sys.Obj {
11 |
12 | constructor(self) { super(); }
13 |
14 | init(self, elem)
15 | {
16 | // map dom::Elem("img") to its HTMLImageElement
17 | this.elem = elem.peer.elem
18 | }
19 |
20 | isLoaded(self)
21 | {
22 | return this.elem.complete;
23 | }
24 |
25 | size(self)
26 | {
27 | return graphics.Size.make(this.w(), this.h());
28 | }
29 |
30 | w(self)
31 | {
32 | return sys.Float.make(this.elem.naturalWidth);
33 | }
34 |
35 | h(self)
36 | {
37 | return sys.Float.make(this.elem.naturalHeight);
38 | }
39 | }
--------------------------------------------------------------------------------
/src/sys/locale/ms.props:
--------------------------------------------------------------------------------
1 | dateTime=WWWW DD MMM YYYY kk:mm:ss aa zzz
2 | date=WWWW DD MMM YYYY
3 | time=kk:mm:ss
4 | float=#,###.0##
5 | decimal=#,###.0##
6 | int=#,###
7 | weekdayStart=sun
8 | janFull=Januari
9 | febFull=Februari
10 | marFull=Mac
11 | aprFull=April
12 | mayFull=Mei
13 | junFull=Jun
14 | julFull=Julai
15 | augFull=Ogos
16 | sepFull=September
17 | octFull=Oktober
18 | novFull=November
19 | decFull=Disember
20 | janAbbr=Jan
21 | febAbbr=Feb
22 | marAbbr=Mac
23 | aprAbbr=Apr
24 | mayAbbr=Mei
25 | junAbbr=Jun
26 | julAbbr=Jul
27 | augAbbr=Ogos
28 | sepAbbr=Sep
29 | octAbbr=Okt
30 | novAbbr=Nov
31 | decAbbr=Dis
32 | sunFull=Ahad
33 | monFull=Isnin
34 | tueFull=Selasa
35 | wedFull=Rabu
36 | thuFull=Khamis
37 | friFull=Jumaat
38 | satFull=Sabtu
39 | sunAbbr=Ahd
40 | monAbbr=Isn
41 | tueAbbr=Sel
42 | wedAbbr=Rab
43 | thuAbbr=Kha
44 | friAbbr=Jum
45 | satAbbr=Sab
--------------------------------------------------------------------------------
/src/sys/locale/tg.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD MMM YYYY hh:mm:ss zzz
2 | date=DD.MM.YYYY
3 | time=hh:mm:ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | janFull=Января
8 | febFull=Февраля
9 | marFull=Марта
10 | aprFull=Апреля
11 | mayFull=Мая
12 | junFull=Июня
13 | julFull=Июля
14 | augFull=Августа
15 | sepFull=Сентября
16 | octFull=Октября
17 | novFull=Ноября
18 | decFull=Декабря
19 | janAbbr=Янв
20 | febAbbr=Фев
21 | marAbbr=Мар
22 | aprAbbr=Апр
23 | mayAbbr=Май
24 | junAbbr=Июн
25 | julAbbr=Июл
26 | augAbbr=Авг
27 | sepAbbr=Сен
28 | octAbbr=Окт
29 | novAbbr=Ноя
30 | decAbbr=Дек
31 | sunFull=Воскресенье
32 | monFull=Понедельник
33 | tueFull=Вторник
34 | wedFull=Среда
35 | thuFull=Четверг
36 | friFull=Пятница
37 | satFull=Суббота
38 | sunAbbr=Вск
39 | monAbbr=Пнд
40 | tueAbbr=Втр
41 | wedAbbr=Срд
42 | thuAbbr=Чтв
43 | friAbbr=Птн
44 | satAbbr=Сбт
--------------------------------------------------------------------------------
/src/email/fan/SmtpErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2008, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 2 May 08 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** SmtpErr indicates an error during an SMTP transaction.
11 | **
12 | const class SmtpErr : Err
13 | {
14 |
15 | **
16 | ** Construct with error code, message, and optional cause.
17 | **
18 | new make(Int code, Str? msg, Err? cause := null)
19 | : super(msg, cause)
20 | {
21 | this.code = code
22 | }
23 |
24 | **
25 | ** Construct with SmtpRes (internal only)
26 | **
27 | internal new makeRes(SmtpRes res, Err? cause := null)
28 | : super.make(res.toStr, cause)
29 | {
30 | this.code = res.code
31 | }
32 |
33 | **
34 | ** The SMTP error code defined by RFC 2821
35 | **
36 | const Int code
37 | }
--------------------------------------------------------------------------------
/src/doc/docLang/build.fan:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env fan
2 | //
3 | // Copyright (c) 2007, Brian Frank and Andy Frank
4 | // Licensed under the Academic Free License version 3.0
5 | //
6 | // History:
7 | // 6 May 07 Brian Frank Creation
8 | //
9 |
10 | using build
11 |
12 | **
13 | ** Build: docLang
14 | **
15 | class Build : BuildPod
16 | {
17 | new make()
18 | {
19 | podName = "docLang"
20 | summary = "Fantom language documentation"
21 | meta = ["org.name": "Fantom",
22 | "org.uri": "https://fantom.org/",
23 | "proj.name": "Fantom Docs",
24 | "proj.uri": "https://fantom.org/",
25 | "license.name": "Academic Free License 3.0",
26 | "vcs.name": "Git",
27 | "vcs.uri": "https://github.com/fantom-lang/fantom"]
28 | resDirs = [`doc/`]
29 | }
30 | }
--------------------------------------------------------------------------------
/src/doc/docTools/build.fan:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env fan
2 | //
3 | // Copyright (c) 2008, Brian Frank and Andy Frank
4 | // Licensed under the Academic Free License version 3.0
5 | //
6 | // History:
7 | // 4 Jan 08 Brian Frank Creation
8 | //
9 |
10 | using build
11 |
12 | **
13 | ** Build: docTools
14 | **
15 | class Build : BuildPod
16 | {
17 | new make()
18 | {
19 | podName = "docTools"
20 | summary = "Fantom command line tools"
21 | meta = ["org.name": "Fantom",
22 | "org.uri": "https://fantom.org/",
23 | "proj.name": "Fantom Docs",
24 | "proj.uri": "https://fantom.org/",
25 | "license.name": "Academic Free License 3.0",
26 | "vcs.name": "Git",
27 | "vcs.uri": "https://github.com/fantom-lang/fantom"]
28 | resDirs = [`doc/`]
29 | }
30 | }
--------------------------------------------------------------------------------
/src/sys/locale/kk.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD MMM YYYY hh:mm:ss zzz
2 | date=DD.MM.YYYY
3 | time=hh:mm:ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | weekdayStart=sun
8 | janFull=Қаңтар
9 | febFull=Ақпан
10 | marFull=Наурыз
11 | aprFull=Сәуір
12 | mayFull=Мамыр
13 | junFull=Маусым
14 | julFull=Шілде
15 | augFull=Тамыз
16 | sepFull=Қыркүйек
17 | octFull=Қазан
18 | novFull=Қараша
19 | decFull=Желтоқсан
20 | janAbbr=Қаң
21 | febAbbr=Ақп
22 | marAbbr=Нау
23 | aprAbbr=Сәу
24 | mayAbbr=Мам
25 | junAbbr=Мау
26 | julAbbr=Шіл
27 | augAbbr=Там
28 | sepAbbr=Қыр
29 | octAbbr=Қаз
30 | novAbbr=Қар
31 | decAbbr=Жел
32 | sunFull=Жексенбі
33 | monFull=Дүйсенбі
34 | tueFull=Сейсенбі
35 | wedFull=Сәрсенбі
36 | thuFull=Бейсенбі
37 | friFull=Жұма
38 | satFull=Сенбі
39 | sunAbbr=Жк
40 | monAbbr=Дс
41 | tueAbbr=Сс
42 | wedAbbr=Ср
43 | thuAbbr=Бс
44 | friAbbr=Жм
45 | satAbbr=Сн
--------------------------------------------------------------------------------
/src/sys/locale/th.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW D MMM YY, hh:mm:ss zzz
2 | date=DD/MM/YY
3 | time=hh:mm:ss
4 | float=#,###.0##
5 | decimal=#,###.0##
6 | int=#,###
7 | weekdayStart=sun
8 | janFull=มกราคม
9 | febFull=กุมภาพันธ์
10 | marFull=มีนาคม
11 | aprFull=เมษายน
12 | mayFull=พฤษภาคม
13 | junFull=มิถุนายน
14 | julFull=กรกฎาคม
15 | augFull=สิงหาคม
16 | sepFull=กันยายน
17 | octFull=ตุลาคม
18 | novFull=พฤศจิกายน
19 | decFull=ธันวาคม
20 | janAbbr=ม.ค.
21 | febAbbr=ก.พ.
22 | marAbbr=มี.ค.
23 | aprAbbr=เม.ย.
24 | mayAbbr=พ.ค.
25 | junAbbr=มิ.ย.
26 | julAbbr=ก.ค.
27 | augAbbr=ส.ค.
28 | sepAbbr=ก.ย.
29 | octAbbr=ต.ค.
30 | novAbbr=พ.ย.
31 | decAbbr=ธ.ค.
32 | sunFull=อาทิตย์
33 | monFull=จันทร์
34 | tueFull=อังคาร
35 | wedFull=พุธ
36 | thuFull=พฤหัสบดี
37 | friFull=ศุกร์
38 | satFull=เสาร์
39 | sunAbbr=อา.
40 | monAbbr=จ.
41 | tueAbbr=อ.
42 | wedAbbr=พ.
43 | thuAbbr=พฤ.
44 | friAbbr=ศ.
45 | satAbbr=ส.
--------------------------------------------------------------------------------
/src/compiler/fan/namespace/CDepend.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2011, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 14 Dec 11 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** CDepend is a compiler dependency which wraps `sys::Depend`
11 | **
12 | class CDepend
13 | {
14 | static CDepend fromStr(Str s) { make(Depend.fromStr(s), null) }
15 |
16 | new make(Depend d, CPod? p) { this.depend = d; this.pod = p }
17 |
18 | static CDepend[] makeList(Depend[] d) { d.map |x->CDepend| { make(x, null) } }
19 |
20 | ** Depend specification
21 | const Depend depend
22 |
23 | ** Pod name of the dependency
24 | Str name() { depend.name }
25 |
26 | ** Resolved pod for the dependency or null if unresolved
27 | CPod? pod
28 |
29 | ** Return depend.toStr
30 | override Str toStr() { depend.toStr }
31 |
32 | }
--------------------------------------------------------------------------------
/src/doc/docIntro/build.fan:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env fan
2 | //
3 | // Copyright (c) 2007, Brian Frank and Andy Frank
4 | // Licensed under the Academic Free License version 3.0
5 | //
6 | // History:
7 | // 6 May 07 Brian Frank Creation
8 | //
9 |
10 | using build
11 |
12 | **
13 | ** Build: docIntro
14 | **
15 | class Build : BuildPod
16 | {
17 | new make()
18 | {
19 | podName = "docIntro"
20 | summary = "Fantom overview and getting started"
21 | meta = ["org.name": "Fantom",
22 | "org.uri": "https://fantom.org/",
23 | "proj.name": "Fantom Docs",
24 | "proj.uri": "https://fantom.org/",
25 | "license.name": "Academic Free License 3.0",
26 | "vcs.name": "Git",
27 | "vcs.uri": "https://github.com/fantom-lang/fantom"]
28 | resDirs = [`doc/`]
29 | }
30 | }
--------------------------------------------------------------------------------
/src/sys/locale/ta.props:
--------------------------------------------------------------------------------
1 | dateTime=WWWW DD MMMM YYYY kk:mm:ss aa zzz
2 | date=WWWW DD MMMM YYYY
3 | time=kk:mm:ss
4 | float=##,##,###.0##
5 | decimal=##,##,###.0##
6 | int=##,##,###
7 | weekdayStart=sun
8 | janFull=ஜனவரி
9 | febFull=பிப்ரவரி
10 | marFull=மார்ச்
11 | aprFull=ஏப்ரல்
12 | mayFull=மே
13 | junFull=ஜூன்
14 | julFull=ஜூலை
15 | augFull=ஆகஸ்ட்
16 | sepFull=செப்டம்பர்
17 | octFull=அக்டோபர்
18 | novFull=நவம்பர்
19 | decFull=டிசம்பர்
20 | janAbbr=ஜன
21 | febAbbr=பிப்
22 | marAbbr=மார்
23 | aprAbbr=ஏப்
24 | mayAbbr=மே
25 | junAbbr=ஜூன்
26 | julAbbr=ஜூலை
27 | augAbbr=ஆக
28 | sepAbbr=செப்
29 | octAbbr=அக்
30 | novAbbr=நவ
31 | decAbbr=டிச
32 | sunFull=ஞாயிறு
33 | monFull=திங்கள்
34 | tueFull=செவ்வாய்
35 | wedFull=புதன்
36 | thuFull=வியாழன்
37 | friFull=வெள்ளி
38 | satFull=சனி
39 | sunAbbr=ஞா
40 | monAbbr=தி
41 | tueAbbr=செ
42 | wedAbbr=பு
43 | thuAbbr=வி
44 | friAbbr=வெ
45 | satAbbr=ச
--------------------------------------------------------------------------------
/src/sys/locale/uz.props:
--------------------------------------------------------------------------------
1 | dateTime=hh:mm:ss, DD MMMM, YYYY 'yil,' WWWW zzz
2 | date=DD/MM/YY
3 | time=hh:mm:ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | weekdayStart=sun
8 | janFull=Yanvar
9 | febFull=Fevral
10 | marFull=Mart
11 | aprFull=Aprel
12 | mayFull=May
13 | junFull=Iyun
14 | julFull=Iyul
15 | augFull=Avgust
16 | sepFull=Sentyabr
17 | octFull=Oktyabr
18 | novFull=Noyabr
19 | decFull=Dekabr
20 | janAbbr=Yan
21 | febAbbr=Fev
22 | marAbbr=Mar
23 | aprAbbr=Apr
24 | mayAbbr=May
25 | junAbbr=Iyn
26 | julAbbr=Iyl
27 | augAbbr=Avg
28 | sepAbbr=Sen
29 | octAbbr=Okt
30 | novAbbr=Noy
31 | decAbbr=Dek
32 | sunFull=Yakshanba
33 | monFull=Dushanba
34 | tueFull=Seshanba
35 | wedFull=Chorshanba
36 | thuFull=Payshanba
37 | friFull=Juma
38 | satFull=Shanba
39 | sunAbbr=Yak
40 | monAbbr=Du
41 | tueAbbr=Se
42 | wedAbbr=Cho
43 | thuAbbr=Pay
44 | friAbbr=Ju
45 | satAbbr=Sha
--------------------------------------------------------------------------------
/src/sys/locale/km.props:
--------------------------------------------------------------------------------
1 | dateTime=WWWW ថ្ងៃ D ខែ MMMM ឆ្នាំ YYYY, hh ម៉ោង m នាទី ss វិនាទី
2 | date=D MMMM YYYY
3 | time=hh:mm:ss
4 | float=#,###.0##
5 | decimal=#,###.0##
6 | int=#,###
7 | weekdayStart=sun
8 | janFull=មករា
9 | febFull=កុម្ភៈ
10 | marFull=មិនា
11 | aprFull=មេសា
12 | mayFull=ឧសភា
13 | junFull=មិថុនា
14 | julFull=កក្កដា
15 | augFull=សីហា
16 | sepFull=កញ្ញា
17 | octFull=តុលា
18 | novFull=វិច្ឆិកា
19 | decFull=ធ្នូ
20 | janAbbr=១
21 | febAbbr=២
22 | marAbbr=៣
23 | aprAbbr=៤
24 | mayAbbr=៥
25 | junAbbr=៦
26 | julAbbr=៧
27 | augAbbr=៨
28 | sepAbbr=៩
29 | octAbbr=១០
30 | novAbbr=១១
31 | decAbbr=១២
32 | sunFull=ថ្ងៃអាទិត្យ
33 | monFull=ថ្ងៃច័ន្ទ
34 | tueFull=ថ្ងៃអង្គារ
35 | wedFull=ថ្ងៃពុធ
36 | thuFull=ថ្ងៃព្រហស្បតិ៍
37 | friFull=ថ្ងៃសុក្រ
38 | satFull=ថ្ងៃសៅរ៍
39 | sunAbbr=អា
40 | monAbbr=ច
41 | tueAbbr=អ
42 | wedAbbr=ពុ
43 | thuAbbr=ព្រ
44 | friAbbr=សុ
45 | satAbbr=ស
46 |
--------------------------------------------------------------------------------
/src/doc/docTools/doc/index.fog:
--------------------------------------------------------------------------------
1 | **************************************************************************
2 | ** title: Index
3 | ** author: Brian Frank
4 | ** created: 01 Jul 07
5 | ** copyright: Copyright (c) 2007, Brian Frank and Andy Frank
6 | ** license: Licensed under the Academic Free License version 3.0
7 | **************************************************************************
8 |
9 | [
10 | [`Setup`, "how to get everything setup"],
11 | [`Fan`, "fan launcher"],
12 | [`Fansh`, "interactive shell for exploring"],
13 | [`Fanc`, "compiler and transpiler tools"],
14 | [`Fant`, "unit testing framework"],
15 | [`Fanp`, "fcode disassembler"],
16 | [`Build`, "build toolkit"],
17 | [`Bootstrap`, "how to recompile the runtime and compiler itself"],
18 | [`IDEs`, "links to other Fantom IDEs"],
19 | ]
20 |
21 |
--------------------------------------------------------------------------------
/src/fandoc/fan/DocWriter.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2007, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 17 Feb 07 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** DocWriter is used to output a fandoc model using a series of callbacks.
11 | **
12 | ** See [pod doc]`pod-doc#api` for usage.
13 | **
14 | @Js
15 | mixin DocWriter
16 | {
17 |
18 | **
19 | ** Enter a document.
20 | **
21 | abstract Void docStart(Doc doc)
22 |
23 | **
24 | ** Exit a document.
25 | **
26 | abstract Void docEnd(Doc doc)
27 |
28 | **
29 | ** Enter an element.
30 | **
31 | abstract Void elemStart(DocElem elem)
32 |
33 | **
34 | ** Exit an element.
35 | **
36 | abstract Void elemEnd(DocElem elem)
37 |
38 | **
39 | ** Write text node.
40 | **
41 | abstract Void text(DocText text)
42 |
43 | }
44 |
45 |
46 |
--------------------------------------------------------------------------------
/src/markdown/fan/parser/block/DocumentBlockParser.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2024, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 08 Oct 2024 Matthew Giannini Creation
7 | //
8 |
9 | @Js
10 | internal class DocumentBlockParser : BlockParser
11 | {
12 | new make() { }
13 |
14 | //////////////////////////////////////////////////////////////////////////
15 | // BlockParser
16 | //////////////////////////////////////////////////////////////////////////
17 |
18 | override Document block := Document() { private set }
19 |
20 | override const Bool isContainer := true
21 |
22 | override Bool canContain(Block block) { true }
23 |
24 | override BlockContinue? tryContinue(ParserState state)
25 | {
26 | BlockContinue.atIndex(state.index)
27 | }
28 |
29 | override Void addLine(SourceLine line) { }
30 |
31 | }
--------------------------------------------------------------------------------
/src/sys/java/fan/sys/FacetMeta.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 10 Nov 10 Brian Frank Creation
7 | //
8 | package fan.sys;
9 |
10 | import fanx.serial.*;
11 |
12 | /**
13 | * FacetMeta facet
14 | */
15 | public final class FacetMeta extends FanObj implements Facet
16 | {
17 | public static FacetMeta make() { return make(null); }
18 | public static FacetMeta make(Func func)
19 | {
20 | FacetMeta self = new FacetMeta();
21 | if (func != null)
22 | {
23 | func.enterCtor(self);
24 | func.call(self);
25 | func.exitCtor();
26 | }
27 | return self;
28 | }
29 |
30 | public Type typeof() { return Sys.FacetMetaType; }
31 |
32 | public String toStr() { return ObjEncoder.encode(this); }
33 |
34 | public boolean inherited;
35 | }
--------------------------------------------------------------------------------
/src/sys/locale/es.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD MMM YYYY hh:mm:ss zzz
2 | date=DD/MM/YY
3 | time=hh:mm:ss
4 | float=#.0##
5 | decimal=#.0##
6 | int=#
7 | numDecimal=,
8 | numGrouping=.
9 | weekdayStart=mon
10 | janFull=enero
11 | febFull=febrero
12 | marFull=marzo
13 | aprFull=abril
14 | mayFull=mayo
15 | junFull=junio
16 | julFull=julio
17 | augFull=agosto
18 | sepFull=septiembre
19 | octFull=octubre
20 | novFull=noviembre
21 | decFull=diciembre
22 | janAbbr=ene
23 | febAbbr=feb
24 | marAbbr=mar
25 | aprAbbr=abr
26 | mayAbbr=may
27 | junAbbr=jun
28 | julAbbr=jul
29 | augAbbr=ago
30 | sepAbbr=sep
31 | octAbbr=oct
32 | novAbbr=nov
33 | decAbbr=dic
34 | sunFull=domingo
35 | monFull=lunes
36 | tueFull=martes
37 | wedFull=miércoles
38 | thuFull=jueves
39 | friFull=viernes
40 | satFull=sábado
41 | sunAbbr=dom
42 | monAbbr=lun
43 | tueAbbr=mar
44 | wedAbbr=mié
45 | thuAbbr=jue
46 | friAbbr=vie
47 | satAbbr=sáb
--------------------------------------------------------------------------------
/src/sys/locale/fa.props:
--------------------------------------------------------------------------------
1 | dateTime=WWWW D MMMM YY، hh:mm:ss zzz
2 | date=YY/MM/DD
3 | time=hh:mm:ss
4 | float=#,###.0##
5 | decimal=#,###.0##
6 | int=#,###
7 | weekdayStart=sun
8 | janFull=ژانویه
9 | febFull=فوریه
10 | marFull=مارس
11 | aprFull=آوریل
12 | mayFull=مه
13 | junFull=ژوئن
14 | julFull=ژوئیه
15 | augFull=اوت
16 | sepFull=سپتامبر
17 | octFull=اكتبر
18 | novFull=نوامبر
19 | decFull=دسامبر
20 | janAbbr=ژانویه
21 | febAbbr=فوریه
22 | marAbbr=مارس
23 | aprAbbr=آوریل
24 | mayAbbr=مه
25 | junAbbr=ژوئن
26 | julAbbr=ژوئیه
27 | augAbbr=اوت
28 | sepAbbr=سپتامبر
29 | octAbbr=اكتبر
30 | novAbbr=نوامبر
31 | decAbbr=دسامبر
32 | sunFull=یکشنبه
33 | monFull=دوشنبه
34 | tueFull=سهشنبه
35 | wedFull=چهارشنبه
36 | thuFull=پنجشنبه
37 | friFull=جمعه
38 | satFull=شنبه
39 | sunAbbr=یکشنبه
40 | monAbbr=دوشنبه
41 | tueAbbr=سهشنبه
42 | wedAbbr=چهارشنبه
43 | thuAbbr=پنجشنبه
44 | friAbbr=جمعه
45 | satAbbr=شنبه
--------------------------------------------------------------------------------
/src/sys/locale/om.props:
--------------------------------------------------------------------------------
1 | dateTime=WWWW, MMMM D, YYYY k:mm:ss aa zzz
2 | date=DD/MM/YYYY
3 | time=k:mm:ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | janFull=Amajjii
8 | febFull=Guraandhala
9 | marFull=Bitooteessa
10 | aprFull=Elba
11 | mayFull=Caamsa
12 | junFull=Waxabajjii
13 | julFull=Adooleessa
14 | augFull=Hagayya
15 | sepFull=Fuulbana
16 | octFull=Onkololeessa
17 | novFull=Sadaasa
18 | decFull=Muddee
19 | janAbbr=Ama
20 | febAbbr=Gur
21 | marAbbr=Bit
22 | aprAbbr=Elb
23 | mayAbbr=Cam
24 | junAbbr=Wax
25 | julAbbr=Ado
26 | augAbbr=Hag
27 | sepAbbr=Ful
28 | octAbbr=Onk
29 | novAbbr=Sad
30 | decAbbr=Mud
31 | sunFull=Dilbata
32 | monFull=Wiixata
33 | tueFull=Qibxata
34 | wedFull=Roobii
35 | thuFull=Kamiisa
36 | friFull=Jimaata
37 | satFull=Sanbata
38 | sunAbbr=Dil
39 | monAbbr=Wix
40 | tueAbbr=Qib
41 | wedAbbr=Rob
42 | thuAbbr=Kam
43 | friAbbr=Jim
44 | satAbbr=San
45 |
--------------------------------------------------------------------------------
/src/doc/docDomkit/build.fan:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env fan
2 | //
3 | // Copyright (c) 2017, Brian Frank and Andy Frank
4 | // Licensed under the Academic Free License version 3.0
5 | //
6 | // History:
7 | // 11 Jan 2017 Andy Frank Creation
8 | //
9 |
10 | using build
11 |
12 | **
13 | ** Build: docDomkit
14 | **
15 | class Build : BuildPod
16 | {
17 | new make()
18 | {
19 | podName = "docDomkit"
20 | summary = "Fantom DomKit HTML5 UI framework documentation"
21 | meta = ["org.name": "Fantom",
22 | "org.uri": "https://fantom.org/",
23 | "proj.name": "Fantom Docs",
24 | "proj.uri": "https://fantom.org/",
25 | "license.name": "Academic Free License 3.0",
26 | "vcs.name": "Git",
27 | "vcs.uri": "https://github.com/fantom-lang/fantom"]
28 | resDirs = [`doc/`]
29 | }
30 | }
--------------------------------------------------------------------------------
/src/doc/docIntro/doc/index.fog:
--------------------------------------------------------------------------------
1 | **************************************************************************
2 | ** title: Index
3 | ** author: Brian Frank
4 | ** created: 3 Jun 07
5 | ** copyright: Copyright (c) 2007, Brian Frank and Andy Frank
6 | ** license: Licensed under the Academic Free License version 3.0
7 | **************************************************************************
8 |
9 | [
10 | [`Readme`, "readme for distribution"],
11 | [`StartHere`, "learn how to get started and use the documentation"],
12 | [`Tour`, "whirlwind tour of Fantom's features"],
13 | [`WhyFantom`, "why we built Fantom and what problems we desire to solve"],
14 | [`HelloWorld`, "getting started with hello world"],
15 | [`Faq`, "frequently asked questions"],
16 | [`License`, "Academic Free License 3.0"],
17 | [`ChangeLog`, "list of changes in each build"]
18 | ]
--------------------------------------------------------------------------------
/src/sys/locale/hi.props:
--------------------------------------------------------------------------------
1 | dateTime=WWWW DD MMM YYYY kk:mm:ss aa zzz
2 | date=WWWW DD MMM YYYY
3 | time=kk:mm:ss
4 | float=#,###.0##
5 | decimal=#,###.0##
6 | int=#,###
7 | weekdayStart=sun
8 | janFull=जनवरी
9 | febFull=फ़रवरी
10 | marFull=मार्च
11 | aprFull=अप्रेल
12 | mayFull=मई
13 | junFull=जून
14 | julFull=जुलाई
15 | augFull=अगस्त
16 | sepFull=सितम्बर
17 | octFull=अक्टूबर
18 | novFull=नवम्बर
19 | decFull=दिसम्बर
20 | janAbbr=जनवरी
21 | febAbbr=फ़रवरी
22 | marAbbr=मार्च
23 | aprAbbr=अप्रेल
24 | mayAbbr=मई
25 | junAbbr=जून
26 | julAbbr=जुलाई
27 | augAbbr=अगस्त
28 | sepAbbr=सितम्बर
29 | octAbbr=अक्टूबर
30 | novAbbr=नवम्बर
31 | decAbbr=दिसम्बर
32 | sunFull=रविवार
33 | monFull=सोमवार
34 | tueFull=मंगलवार
35 | wedFull=बुधवार
36 | thuFull=गुरुवार
37 | friFull=शुक्रवार
38 | satFull=शनिवार
39 | sunAbbr=रवि
40 | monAbbr=सोम
41 | tueAbbr=मंगल
42 | wedAbbr=बुध
43 | thuAbbr=गुरु
44 | friAbbr=शुक्र
45 | satAbbr=शनि
--------------------------------------------------------------------------------
/src/sys/locale/ne.props:
--------------------------------------------------------------------------------
1 | dateTime=WWWW DD MMM YYYY kk:mm:ss aa zzz
2 | date=WWWW DD MMM YYYY
3 | time=kk:mm:ss
4 | float=#,###.0##
5 | decimal=#,###.0##
6 | int=#,###
7 | weekdayStart=sun
8 | janFull=जनवरी
9 | febFull=फ़रवरी
10 | marFull=मार्च
11 | aprFull=अप्रेल
12 | mayFull=मई
13 | junFull=जून
14 | julFull=जुलाई
15 | augFull=अगस्त
16 | sepFull=सितम्बर
17 | octFull=अक्टूबर
18 | novFull=नवम्बर
19 | decFull=दिसम्बर
20 | janAbbr=जनवरी
21 | febAbbr=फ़रवरी
22 | marAbbr=मार्च
23 | aprAbbr=अप्रेल
24 | mayAbbr=मई
25 | junAbbr=जून
26 | julAbbr=जुलाई
27 | augAbbr=अगस्त
28 | sepAbbr=सितम्बर
29 | octAbbr=अक्टूबर
30 | novAbbr=नवम्बर
31 | decAbbr=दिसम्बर
32 | sunFull=आइतबार
33 | monFull=सोमबार
34 | tueFull=मंगलबार
35 | wedFull=बुधबार
36 | thuFull=बिहिबार
37 | friFull=शुक्रबार
38 | satFull=शनिबार
39 | sunAbbr=आइत
40 | monAbbr=सोम
41 | tueAbbr=मंगल
42 | wedAbbr=बुध
43 | thuAbbr=बिहि
44 | friAbbr=शुक्र
45 | satAbbr=शनि
--------------------------------------------------------------------------------
/src/sys/locale/pt.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD MMM YYYY hh:mm:ss zzz
2 | date=DD-MM-YYYY
3 | time=hh:mm:ss
4 | float=#.0##
5 | decimal=#.0##
6 | int=#
7 | numDecimal=,
8 | numGrouping=.
9 | weekdayStart=sun
10 | janFull=Janeiro
11 | febFull=Fevereiro
12 | marFull=Março
13 | aprFull=Abril
14 | mayFull=Maio
15 | junFull=Junho
16 | julFull=Julho
17 | augFull=Agosto
18 | sepFull=Setembro
19 | octFull=Outubro
20 | novFull=Novembro
21 | decFull=Dezembro
22 | janAbbr=Jan
23 | febAbbr=Fev
24 | marAbbr=Mar
25 | aprAbbr=Abr
26 | mayAbbr=Mai
27 | junAbbr=Jun
28 | julAbbr=Jul
29 | augAbbr=Ago
30 | sepAbbr=Set
31 | octAbbr=Out
32 | novAbbr=Nov
33 | decAbbr=Dez
34 | sunFull=Domingo
35 | monFull=Segunda
36 | tueFull=Terça
37 | wedFull=Quarta
38 | thuFull=Quinta
39 | friFull=Sexta
40 | satFull=Sábado
41 | sunAbbr=Dom
42 | monAbbr=Seg
43 | tueAbbr=Ter
44 | wedAbbr=Qua
45 | thuAbbr=Qui
46 | friAbbr=Sex
47 | satAbbr=Sáb
48 |
--------------------------------------------------------------------------------
/src/sys/locale/sl.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD MMM YYYY hh:mm:ss zzz
2 | date=DD. MM. YYYY
3 | time=hh:mm:ss
4 | float=#.0##
5 | decimal=#.0##
6 | int=#
7 | numDecimal=,
8 | numGrouping=.
9 | weekdayStart=sun
10 | janFull=januar
11 | febFull=februar
12 | marFull=marec
13 | aprFull=april
14 | mayFull=maj
15 | junFull=junij
16 | julFull=julij
17 | augFull=avgust
18 | sepFull=september
19 | octFull=oktober
20 | novFull=november
21 | decFull=december
22 | janAbbr=jan
23 | febAbbr=feb
24 | marAbbr=mar
25 | aprAbbr=apr
26 | mayAbbr=maj
27 | junAbbr=jun
28 | julAbbr=jul
29 | augAbbr=avg
30 | sepAbbr=sep
31 | octAbbr=okt
32 | novAbbr=nov
33 | decAbbr=dec
34 | sunFull=nedelja
35 | monFull=ponedeljek
36 | tueFull=torek
37 | wedFull=sreda
38 | thuFull=četrtek
39 | friFull=petek
40 | satFull=sobota
41 | sunAbbr=ned
42 | monAbbr=pon
43 | tueAbbr=tor
44 | wedAbbr=sre
45 | thuAbbr=čet
46 | friAbbr=pet
47 | satAbbr=sob
48 |
--------------------------------------------------------------------------------
/src/doc/docFanr/build.fan:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env fan
2 | //
3 | // Copyright (c) 2011, Brian Frank and Andy Frank
4 | // Licensed under the Academic Free License version 3.0
5 | //
6 | // History:
7 | // 24 Jun 11 Brian Frank Creation
8 | //
9 |
10 | using build
11 |
12 | **
13 | ** Build: docFanr
14 | **
15 | class Build : BuildPod
16 | {
17 | new make()
18 | {
19 | podName = "docFanr"
20 | summary = "Documentation for fanr repository and package management"
21 | meta = ["org.name": "Fantom",
22 | "org.uri": "https://fantom.org/",
23 | "proj.name": "Fantom Docs",
24 | "proj.uri": "https://fantom.org/",
25 | "license.name": "Academic Free License 3.0",
26 | "vcs.name": "Git",
27 | "vcs.uri": "https://github.com/fantom-lang/fantom"]
28 | resDirs = [`doc/`]
29 | }
30 | }
--------------------------------------------------------------------------------
/src/dom/fan/DomImage.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2022, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 21 Mar 2022 Brian Frank Creation
7 | //
8 |
9 | using graphics
10 |
11 | **
12 | ** Dom implementation of the Image API backed by an HTMLImageElement
13 | **
14 | @Js
15 | internal const class DomImage : Image
16 | {
17 | new make(Uri uri, MimeType mime, Elem elem)
18 | {
19 | this.uri = uri
20 | this.mime = mime
21 | this.init(elem)
22 | }
23 |
24 | private native Void init(Elem elem)
25 |
26 | const override Uri uri
27 |
28 | const override MimeType mime
29 |
30 | override native Bool isLoaded()
31 |
32 | override native Size size()
33 |
34 | override native Float w()
35 |
36 | override native Float h()
37 |
38 | @Operator override Obj? get(Str prop) { null }
39 |
40 | }
41 |
42 |
43 |
--------------------------------------------------------------------------------
/src/sys/dotnet/fan/sys/FacetMeta.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 10 Nov 10 Brian Frank Creation
7 | //
8 |
9 | using Fanx.Serial;
10 |
11 | namespace Fan.Sys
12 | {
13 | public sealed class FacetMeta : FanObj, Facet
14 | {
15 | public static FacetMeta make() { return make(null); }
16 | public static FacetMeta make(Func func)
17 | {
18 | FacetMeta self = new FacetMeta();
19 | if (func != null)
20 | {
21 | func.enterCtor(self);
22 | func.call(self);
23 | func.exitCtor();
24 | }
25 | return self;
26 | }
27 |
28 | public override Type @typeof() { return Sys.FacetMetaType; }
29 |
30 | public override string toStr() { return ObjEncoder.encode(this); }
31 |
32 | public bool m_inherited;
33 | }
34 | }
--------------------------------------------------------------------------------
/src/sys/java/fan/sys/Deprecated.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 4 Feb 10 Brian Frank Creation
7 | //
8 | package fan.sys;
9 |
10 | import fanx.serial.*;
11 |
12 | /**
13 | * Deprecated facet
14 | */
15 | public final class Deprecated extends FanObj implements Facet
16 | {
17 | public static Deprecated make() { return make(null); }
18 | public static Deprecated make(Func func)
19 | {
20 | Deprecated self = new Deprecated();
21 | if (func != null)
22 | {
23 | func.enterCtor(self);
24 | func.call(self);
25 | func.exitCtor();
26 | }
27 | return self;
28 | }
29 |
30 | public Type typeof() { return Sys.DeprecatedType; }
31 |
32 | public String toStr() { return ObjEncoder.encode(this); }
33 |
34 | public String msg = "";
35 |
36 | }
--------------------------------------------------------------------------------
/src/sys/locale/ml.props:
--------------------------------------------------------------------------------
1 | dateTime=WWWW DD MMMM YYYY kk:mm:ss aa zzz
2 | date=WWWW DD MMMM YYYY
3 | time=kk:mm:ss
4 | float=##,##,###.0##
5 | decimal=##,##,###.0##
6 | int=##,##,###
7 | weekdayStart=sun
8 | janFull=ജനുവരി
9 | febFull=ഫെബ്രുവരി
10 | marFull=മാര്ച്ച്
11 | aprFull=ഏപ്രില്
12 | mayFull=മെയ്
13 | junFull=ജൂണ്
14 | julFull=ജൂലൈ
15 | augFull=ആഗസ്റ്റ്
16 | sepFull=സെപ്റ്റംബര്
17 | octFull=ഒക്ടോബര്
18 | novFull=നവംബര്
19 | decFull=ഡിസംബര്
20 | janAbbr=ജനു
21 | febAbbr=ഫെബ്
22 | marAbbr=മാര്
23 | aprAbbr=ഏപ്ര
24 | mayAbbr=മെ
25 | junAbbr=ജൂണ്
26 | julAbbr=ജൂലൈ
27 | augAbbr=ആഗ്
28 | sepAbbr=സെപ്
29 | octAbbr=ഒക്ടോ
30 | novAbbr=നവം
31 | decAbbr=ഡിസം
32 | sunFull=ഞായര്
33 | monFull=തിങ്കള്
34 | tueFull=ചൊവ്വ
35 | wedFull=ബുധന്
36 | thuFull=വ്യാഴം
37 | friFull=വെള്ളി
38 | satFull=ശനി
39 | sunAbbr=ഞാ
40 | monAbbr=തി
41 | tueAbbr=ചൊ
42 | wedAbbr=ബു
43 | thuAbbr=വ്യാ
44 | friAbbr=വെ
45 | satAbbr=ശ
--------------------------------------------------------------------------------
/src/sys/dotnet/fan/sys/Deprecated.cs:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2010, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 4 Feb 10 Brian Frank Creation
7 | //
8 |
9 | using Fanx.Serial;
10 |
11 | namespace Fan.Sys
12 | {
13 | public sealed class Deprecated : FanObj, Facet
14 | {
15 | public static Deprecated make() { return make(null); }
16 | public static Deprecated make(Func func)
17 | {
18 | Deprecated self = new Deprecated();
19 | if (func != null)
20 | {
21 | func.enterCtor(self);
22 | func.call(self);
23 | func.exitCtor();
24 | }
25 | return self;
26 | }
27 |
28 | public override Type @typeof() { return Sys.DeprecatedType; }
29 |
30 | public override string toStr() { return ObjEncoder.encode(this); }
31 |
32 | public string m_msg = "";
33 | }
34 | }
--------------------------------------------------------------------------------
/src/sys/locale/hr.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD MMM YYYY hh:mm:ss zzz
2 | date=DD.MM.YYYY
3 | time=hh:mm:ss
4 | float=#.0##
5 | decimal=#.0##
6 | int=#
7 | numDecimal=,
8 | numGrouping=.
9 | weekdayStart=sun
10 | janFull=Siječanj
11 | febFull=Veljača
12 | marFull=Ožujak
13 | aprFull=Travanj
14 | mayFull=Svibanj
15 | junFull=Lipanj
16 | julFull=Srpanj
17 | augFull=Kolovoz
18 | sepFull=Rujan
19 | octFull=Listopad
20 | novFull=Studeni
21 | decFull=Prosinac
22 | janAbbr=Sij
23 | febAbbr=Vel
24 | marAbbr=Ožu
25 | aprAbbr=Tra
26 | mayAbbr=Svi
27 | junAbbr=Lip
28 | julAbbr=Srp
29 | augAbbr=Kol
30 | sepAbbr=Ruj
31 | octAbbr=Lis
32 | novAbbr=Stu
33 | decAbbr=Pro
34 | sunFull=Nedjelja
35 | monFull=Ponedjeljak
36 | tueFull=Utorak
37 | wedFull=Srijeda
38 | thuFull=Četvrtak
39 | friFull=Petak
40 | satFull=Subota
41 | sunAbbr=Ned
42 | monAbbr=Pon
43 | tueAbbr=Uto
44 | wedAbbr=Sri
45 | thuAbbr=Čet
46 | friAbbr=Pet
47 | satAbbr=Sub
--------------------------------------------------------------------------------
/src/sys/locale/id.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD MMM YYYY "" zzz
2 | date=DD/MM/YY
3 | time=hh:mm:ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | numDecimal=,
8 | numGrouping=.
9 | weekdayStart=sun
10 | janFull=Januari
11 | febFull=Pebruari
12 | marFull=Maret
13 | aprFull=April
14 | mayFull=Mei
15 | junFull=Juni
16 | julFull=Juli
17 | augFull=Agustus
18 | sepFull=September
19 | octFull=Oktober
20 | novFull=November
21 | decFull=Desember
22 | janAbbr=Jan
23 | febAbbr=Peb
24 | marAbbr=Mar
25 | aprAbbr=Apr
26 | mayAbbr=Mei
27 | junAbbr=Jun
28 | julAbbr=Jul
29 | augAbbr=Agu
30 | sepAbbr=Sep
31 | octAbbr=Okt
32 | novAbbr=Nov
33 | decAbbr=Des
34 | sunFull=Minggu
35 | monFull=Senin
36 | tueFull=Selasa
37 | wedFull=Rabu
38 | thuFull=Kamis
39 | friFull=Jumat
40 | satFull=Sabtu
41 | sunAbbr=Min
42 | monAbbr=Sen
43 | tueAbbr=Sel
44 | wedAbbr=Rab
45 | thuAbbr=Kam
46 | friAbbr=Jum
47 | satAbbr=Sab
48 |
--------------------------------------------------------------------------------
/src/sys/locale/cs.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW D. MMMM YYYY, hh:mm:ss zzz
2 | date=D.M.YYYY
3 | time=hh:mm:ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | numDecimal=,
8 | numGrouping=\u00a0
9 | weekdayStart=sun
10 | janFull=leden
11 | febFull=únor
12 | marFull=březen
13 | aprFull=duben
14 | mayFull=květen
15 | junFull=červen
16 | julFull=červenec
17 | augFull=srpen
18 | sepFull=září
19 | octFull=říjen
20 | novFull=listopad
21 | decFull=prosinec
22 | janAbbr=led
23 | febAbbr=úno
24 | marAbbr=bře
25 | aprAbbr=dub
26 | mayAbbr=kvě
27 | junAbbr=čen
28 | julAbbr=čec
29 | augAbbr=srp
30 | sepAbbr=zář
31 | octAbbr=říj
32 | novAbbr=lis
33 | decAbbr=pro
34 | sunFull=Neděle
35 | monFull=Pondělí
36 | tueFull=Úterý
37 | wedFull=Středa
38 | thuFull=Čtvrtek
39 | friFull=Pátek
40 | satFull=Sobota
41 | sunAbbr=Ne
42 | monAbbr=Po
43 | tueAbbr=Út
44 | wedAbbr=St
45 | thuAbbr=Čt
46 | friAbbr=Pá
47 | satAbbr=So
48 |
--------------------------------------------------------------------------------
/src/sys/locale/it.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD MMM YYYY hh:mm:ss zzz
2 | date=DD/MM/YYYY
3 | time=hh:mm:ss
4 | float=#.0##
5 | decimal=#.0##
6 | int=#
7 | numDecimal=,
8 | numGrouping=.
9 | weekdayStart=sun
10 | janFull=gennaio
11 | febFull=febbraio
12 | marFull=marzo
13 | aprFull=aprile
14 | mayFull=maggio
15 | junFull=giugno
16 | julFull=luglio
17 | augFull=agosto
18 | sepFull=settembre
19 | octFull=ottobre
20 | novFull=novembre
21 | decFull=dicembre
22 | janAbbr=gen
23 | febAbbr=feb
24 | marAbbr=mar
25 | aprAbbr=apr
26 | mayAbbr=mag
27 | junAbbr=giu
28 | julAbbr=lug
29 | augAbbr=ago
30 | sepAbbr=set
31 | octAbbr=ott
32 | novAbbr=nov
33 | decAbbr=dic
34 | sunFull=domenica
35 | monFull=lunedì
36 | tueFull=martedì
37 | wedFull=mercoledì
38 | thuFull=giovedì
39 | friFull=venerdì
40 | satFull=sabato
41 | sunAbbr=dom
42 | monAbbr=lun
43 | tueAbbr=mar
44 | wedAbbr=mer
45 | thuAbbr=gio
46 | friAbbr=ven
47 | satAbbr=sab
48 |
--------------------------------------------------------------------------------
/src/sys/locale/tr.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD MMM YYYY hh:mm:ss zzz
2 | date=DD-MM-YYYY
3 | time=hh:mm:ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | numDecimal=,
8 | numGrouping=.
9 | weekdayStart=sun
10 | janFull=Ocak
11 | febFull=Şubat
12 | marFull=Mart
13 | aprFull=Nisan
14 | mayFull=Mayıs
15 | junFull=Haziran
16 | julFull=Temmuz
17 | augFull=Ağustos
18 | sepFull=Eylül
19 | octFull=Ekim
20 | novFull=Kasım
21 | decFull=Aralık
22 | janAbbr=Oca
23 | febAbbr=Şub
24 | marAbbr=Mar
25 | aprAbbr=Nis
26 | mayAbbr=May
27 | junAbbr=Haz
28 | julAbbr=Tem
29 | augAbbr=Ağu
30 | sepAbbr=Eyl
31 | octAbbr=Eki
32 | novAbbr=Kas
33 | decAbbr=Ara
34 | sunFull=Pazar
35 | monFull=Pazartesi
36 | tueFull=Salı
37 | wedFull=Çarşamba
38 | thuFull=Perşembe
39 | friFull=Cuma
40 | satFull=Cumartesi
41 | sunAbbr=Paz
42 | monAbbr=Pzt
43 | tueAbbr=Sal
44 | wedAbbr=Çrş
45 | thuAbbr=Prş
46 | friAbbr=Cum
47 | satAbbr=Cts
48 |
--------------------------------------------------------------------------------
/src/sys/locale/bg.props:
--------------------------------------------------------------------------------
1 | dateTime=D.MM.YYYY (WWW) h,mm,ss zzz
2 | date=D.MM.YYYY
3 | time=h,mm,ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | numDecimal=,
8 | numGrouping=\u00a0
9 | weekdayStart=sun
10 | janFull=януари
11 | febFull=февруари
12 | marFull=март
13 | aprFull=април
14 | mayFull=май
15 | junFull=юни
16 | julFull=юли
17 | augFull=август
18 | sepFull=септември
19 | octFull=октомври
20 | novFull=ноември
21 | decFull=декември
22 | janAbbr=яну
23 | febAbbr=фев
24 | marAbbr=мар
25 | aprAbbr=апр
26 | mayAbbr=май
27 | junAbbr=юни
28 | julAbbr=юли
29 | augAbbr=авг
30 | sepAbbr=сеп
31 | octAbbr=окт
32 | novAbbr=ное
33 | decAbbr=дек
34 | sunFull=неделя
35 | monFull=понеделник
36 | tueFull=вторник
37 | wedFull=сряда
38 | thuFull=четвъртък
39 | friFull=петък
40 | satFull=събота
41 | sunAbbr=нд
42 | monAbbr=пн
43 | tueAbbr=вт
44 | wedAbbr=ср
45 | thuAbbr=чт
46 | friAbbr=пт
47 | satAbbr=сб
48 |
--------------------------------------------------------------------------------
/src/sys/locale/da.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD MMM YYYY hh:mm:ss zzz
2 | date=DD-MM-YYYY
3 | time=hh:mm:ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | numDecimal=,
8 | numGrouping=.
9 | weekdayStart=sun
10 | janFull=januar
11 | febFull=februar
12 | marFull=marts
13 | aprFull=april
14 | mayFull=maj
15 | junFull=juni
16 | julFull=juli
17 | augFull=august
18 | sepFull=september
19 | octFull=oktober
20 | novFull=november
21 | decFull=december
22 | janAbbr=jan
23 | febAbbr=feb
24 | marAbbr=mar
25 | aprAbbr=apr
26 | mayAbbr=maj
27 | junAbbr=jun
28 | julAbbr=jul
29 | augAbbr=aug
30 | sepAbbr=sep
31 | octAbbr=okt
32 | novAbbr=nov
33 | decAbbr=dec
34 | sunFull=søndag
35 | monFull=mandag
36 | tueFull=tirsdag
37 | wedFull=onsdag
38 | thuFull=torsdag
39 | friFull=fredag
40 | satFull=lørdag
41 | sunAbbr=søn
42 | monAbbr=man
43 | tueAbbr=tir
44 | wedAbbr=ons
45 | thuAbbr=tor
46 | friAbbr=fre
47 | satAbbr=lør
48 |
--------------------------------------------------------------------------------
/src/sys/locale/de.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD MMM YYYY hh:mm:ss zzz
2 | date=DD.MM.YYYY
3 | time=hh:mm:ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | numDecimal=,
8 | numGrouping=.
9 | weekdayStart=sun
10 | janFull=Januar
11 | febFull=Februar
12 | marFull=März
13 | aprFull=April
14 | mayFull=Mai
15 | junFull=Juni
16 | julFull=Juli
17 | augFull=August
18 | sepFull=September
19 | octFull=Oktober
20 | novFull=November
21 | decFull=Dezember
22 | janAbbr=Jan
23 | febAbbr=Feb
24 | marAbbr=Mär
25 | aprAbbr=Apr
26 | mayAbbr=Mai
27 | junAbbr=Jun
28 | julAbbr=Jul
29 | augAbbr=Aug
30 | sepAbbr=Sep
31 | octAbbr=Okt
32 | novAbbr=Nov
33 | decAbbr=Dez
34 | sunFull=Sonntag
35 | monFull=Montag
36 | tueFull=Dienstag
37 | wedFull=Mittwoch
38 | thuFull=Donnerstag
39 | friFull=Freitag
40 | satFull=Samstag
41 | sunAbbr=So
42 | monAbbr=Mo
43 | tueAbbr=Di
44 | wedAbbr=Mi
45 | thuAbbr=Do
46 | friAbbr=Fr
47 | satAbbr=Sa
48 |
--------------------------------------------------------------------------------
/src/sys/locale/mn.props:
--------------------------------------------------------------------------------
1 | dateTime=YYYY MMM DD, WWW hh:mm:ss zzz
2 | date=YYYY.MM.DD
3 | time=hh:mm:ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | weekdayStart=sun
8 | janFull=Хулгана сарын
9 | febFull=Үхэр сарын
10 | marFull=Бар сарын
11 | aprFull=Туулай сарын
12 | mayFull=Луу сарын
13 | junFull=Могой сарын
14 | julFull=Морь сарын
15 | augFull=Хонь сарын
16 | sepFull=Бич сарын
17 | octFull=Тахиа сарын
18 | novFull=Нохой сарын
19 | decFull=Гахай сарын
20 | janAbbr=Хул
21 | febAbbr=Үхэ
22 | marAbbr=Бар
23 | aprAbbr=Туу
24 | mayAbbr=Луу
25 | junAbbr=Мог
26 | julAbbr=Мор
27 | augAbbr=Хон
28 | sepAbbr=Бич
29 | octAbbr=Тах
30 | novAbbr=Нох
31 | decAbbr=Гах
32 | sunFull=Ням
33 | monFull=Даваа
34 | tueFull=Мягмар
35 | wedFull=Лхагва
36 | thuFull=Пүрэв
37 | friFull=Баасан
38 | satFull=Бямба
39 | sunAbbr=Ня
40 | monAbbr=Да
41 | tueAbbr=Мя
42 | wedAbbr=Лх
43 | thuAbbr=Пү
44 | friAbbr=Ба
45 | satAbbr=Бя
--------------------------------------------------------------------------------
/src/sys/locale/pl.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW, D MMM YYYY, hh:mm:ss zzz
2 | date=DD.MM.YYYY
3 | time=hh:mm:ss
4 | float=#.0##
5 | decimal=#.0##
6 | int=#
7 | numDecimal=,
8 | numGrouping=\u00a0
9 | weekdayStart=sun
10 | janFull=styczeń
11 | febFull=luty
12 | marFull=marzec
13 | aprFull=kwiecień
14 | mayFull=maj
15 | junFull=czerwiec
16 | julFull=lipiec
17 | augFull=sierpień
18 | sepFull=wrzesień
19 | octFull=październik
20 | novFull=listopad
21 | decFull=grudzień
22 | janAbbr=sty
23 | febAbbr=lut
24 | marAbbr=mar
25 | aprAbbr=kwi
26 | mayAbbr=maj
27 | junAbbr=cze
28 | julAbbr=lip
29 | augAbbr=sie
30 | sepAbbr=wrz
31 | octAbbr=paź
32 | novAbbr=lis
33 | decAbbr=gru
34 | sunFull=niedziela
35 | monFull=poniedziałek
36 | tueFull=wtorek
37 | wedFull=środa
38 | thuFull=czwartek
39 | friFull=piątek
40 | satFull=sobota
41 | sunAbbr=nie
42 | monAbbr=pon
43 | tueAbbr=wto
44 | wedAbbr=śro
45 | thuAbbr=czw
46 | friAbbr=pią
47 | satAbbr=sob
--------------------------------------------------------------------------------
/src/sys/locale/sk.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW D. MMMM YYYY, hh:mm:ss zzz
2 | date=DD.MM.YYYY
3 | time=hh:mm:ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | numDecimal=,
8 | numGrouping=\u00a0
9 | weekdayStart=sun
10 | janFull=január
11 | febFull=február
12 | marFull=marec
13 | aprFull=apríl
14 | mayFull=máj
15 | junFull=jún
16 | julFull=júl
17 | augFull=august
18 | sepFull=september
19 | octFull=október
20 | novFull=november
21 | decFull=december
22 | janAbbr=jan
23 | febAbbr=feb
24 | marAbbr=mar
25 | aprAbbr=apr
26 | mayAbbr=máj
27 | junAbbr=jún
28 | julAbbr=júl
29 | augAbbr=aug
30 | sepAbbr=sep
31 | octAbbr=okt
32 | novAbbr=nov
33 | decAbbr=dec
34 | sunFull=Nedeľa
35 | monFull=Pondelok
36 | tueFull=Utorok
37 | wedFull=Streda
38 | thuFull=Štvrtok
39 | friFull=Piatok
40 | satFull=Sobota
41 | sunAbbr=Ne
42 | monAbbr=Po
43 | tueAbbr=Ut
44 | wedAbbr=St
45 | thuAbbr=Št
46 | friAbbr=Pi
47 | satAbbr=So
48 |
--------------------------------------------------------------------------------
/src/sys/locale/sv.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW D MMM YYYY hh.mm.ss zzz
2 | date=YYYY-MM-DD
3 | time=hh.mm.ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | numDecimal=,
8 | numGrouping=\u00a0
9 | weekdayStart=sun
10 | janFull=januari
11 | febFull=februari
12 | marFull=mars
13 | aprFull=april
14 | mayFull=maj
15 | junFull=juni
16 | julFull=juli
17 | augFull=augusti
18 | sepFull=september
19 | octFull=oktober
20 | novFull=november
21 | decFull=december
22 | janAbbr=jan
23 | febAbbr=feb
24 | marAbbr=mar
25 | aprAbbr=apr
26 | mayAbbr=maj
27 | junAbbr=jun
28 | julAbbr=jul
29 | augAbbr=aug
30 | sepAbbr=sep
31 | octAbbr=okt
32 | novAbbr=nov
33 | decAbbr=dec
34 | sunFull=söndag
35 | monFull=måndag
36 | tueFull=tisdag
37 | wedFull=onsdag
38 | thuFull=torsdag
39 | friFull=fredag
40 | satFull=lördag
41 | sunAbbr=sön
42 | monAbbr=mån
43 | tueAbbr=tis
44 | wedAbbr=ons
45 | thuAbbr=tor
46 | friAbbr=fre
47 | satAbbr=lör
--------------------------------------------------------------------------------
/src/fandoc/build.fan:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env fan
2 | //
3 | // Copyright (c) 2007, Brian Frank and Andy Frank
4 | // Licensed under the Academic Free License version 3.0
5 | //
6 | // History:
7 | // 16 Feb 07 Brian Frank Creation
8 | //
9 |
10 | using build
11 |
12 | **
13 | ** Build: fandoc
14 | **
15 | class Build : BuildPod
16 | {
17 | new make()
18 | {
19 | podName = "fandoc"
20 | summary = "Fandoc parser and DOM"
21 | meta = ["org.name": "Fantom",
22 | "org.uri": "https://fantom.org/",
23 | "proj.name": "Fantom Core",
24 | "proj.uri": "https://fantom.org/",
25 | "license.name": "Academic Free License 3.0",
26 | "vcs.name": "Git",
27 | "vcs.uri": "https://github.com/fantom-lang/fantom"]
28 | depends = ["sys 1.0"]
29 | srcDirs = [`fan/`, `test/`]
30 | docSrc = true
31 | }
32 | }
--------------------------------------------------------------------------------
/src/sys/locale/ro.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD MMM YYYY hh:mm:ss z
2 | date=DD.MM.YYYY
3 | time=hh:mm:ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | numDecimal=,
8 | numGrouping=.
9 | weekdayStart=sun
10 | janFull=ianuarie
11 | febFull=februarie
12 | marFull=martie
13 | aprFull=aprilie
14 | mayFull=mai
15 | junFull=iunie
16 | julFull=iulie
17 | augFull=august
18 | sepFull=septembrie
19 | octFull=octombrie
20 | novFull=noiembrie
21 | decFull=decembrie
22 | janAbbr=ian
23 | febAbbr=feb
24 | marAbbr=mar
25 | aprAbbr=apr
26 | mayAbbr=mai
27 | junAbbr=iun
28 | julAbbr=iul
29 | augAbbr=aug
30 | sepAbbr=sep
31 | octAbbr=oct
32 | novAbbr=nov
33 | decAbbr=dec
34 | sunFull=duminică
35 | monFull=luni
36 | tueFull=marţi
37 | wedFull=miercuri
38 | thuFull=joi
39 | friFull=vineri
40 | satFull=sâmbătă
41 | sunAbbr=Du
42 | monAbbr=Lu
43 | tueAbbr=Ma
44 | wedAbbr=Mi
45 | thuAbbr=Jo
46 | friAbbr=Vi
47 | satAbbr=Sb
48 |
--------------------------------------------------------------------------------
/src/email/build.fan:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env fan
2 | //
3 | // Copyright (c) 2008, Brian Frank and Andy Frank
4 | // Licensed under the Academic Free License version 3.0
5 | //
6 | // History:
7 | // 29 Apr 08 Brian Frank Creation
8 | //
9 |
10 | using build
11 |
12 | **
13 | ** Build: email
14 | **
15 | class Build : BuildPod
16 | {
17 | new make()
18 | {
19 | podName = "email"
20 | summary = "Email support"
21 | meta = ["org.name": "Fantom",
22 | "org.uri": "https://fantom.org/",
23 | "proj.name": "Fantom Core",
24 | "proj.uri": "https://fantom.org/",
25 | "license.name": "Academic Free License 3.0",
26 | "vcs.name": "Git",
27 | "vcs.uri": "https://github.com/fantom-lang/fantom"]
28 | depends = ["sys 1.0", "inet 1.0"]
29 | srcDirs = [`fan/`, `test/`]
30 | docSrc = true
31 | }
32 | }
--------------------------------------------------------------------------------
/src/sys/locale/nb.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD. MMM YYYY hh.mm zzz
2 | date=DD. MMM YYYY
3 | time=hh.mm
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | numDecimal=,
8 | numGrouping=\u00a0
9 | weekdayStart=mon
10 | janFull=januar
11 | febFull=februar
12 | marFull=mars
13 | aprFull=april
14 | mayFull=mai
15 | junFull=juni
16 | julFull=juli
17 | augFull=august
18 | sepFull=september
19 | octFull=oktober
20 | novFull=november
21 | decFull=desember
22 | janAbbr=jan.
23 | febAbbr=feb.
24 | marAbbr=mars
25 | aprAbbr=april
26 | mayAbbr=mai
27 | junAbbr=juni
28 | julAbbr=juli
29 | augAbbr=aug.
30 | sepAbbr=sep.
31 | octAbbr=okt.
32 | novAbbr=nov.
33 | decAbbr=des.
34 | sunFull=søndag
35 | monFull=mandag
36 | tueFull=tirsdag
37 | wedFull=onsdag
38 | thuFull=torsdag
39 | friFull=fredag
40 | satFull=lørdag
41 | sunAbbr=sø.
42 | monAbbr=ma.
43 | tueAbbr=ti.
44 | wedAbbr=on.
45 | thuAbbr=to.
46 | friAbbr=fr.
47 | satAbbr=lø.
--------------------------------------------------------------------------------
/src/sys/locale/uk.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW, DD-MMM-YYYY hh:mm:ss z
2 | date=DD.MM.YY
3 | time=hh:mm:ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | numDecimal=,
8 | numGrouping=\u00a0
9 | weekdayStart=sun
10 | janFull=січень
11 | febFull=лютий
12 | marFull=березень
13 | aprFull=квітень
14 | mayFull=травень
15 | junFull=червень
16 | julFull=липень
17 | augFull=серпень
18 | sepFull=вересень
19 | octFull=жовтень
20 | novFull=листопад
21 | decFull=грудень
22 | janAbbr=січ
23 | febAbbr=лют
24 | marAbbr=бер
25 | aprAbbr=кві
26 | mayAbbr=тра
27 | junAbbr=чер
28 | julAbbr=лип
29 | augAbbr=сер
30 | sepAbbr=вер
31 | octAbbr=жов
32 | novAbbr=лис
33 | decAbbr=гру
34 | sunFull=неділя
35 | monFull=понеділок
36 | tueFull=вівторок
37 | wedFull=середа
38 | thuFull=четвер
39 | friFull=п'ятниця
40 | satFull=субота
41 | sunAbbr=нд
42 | monAbbr=пн
43 | tueAbbr=вт
44 | wedAbbr=ср
45 | thuAbbr=чт
46 | friAbbr=пт
47 | satAbbr=сб
48 |
--------------------------------------------------------------------------------
/src/dom/java/QuerySelector.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2018, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 30 Nov 2018 Andy Frank Creation
7 | //
8 |
9 | package fan.dom;
10 |
11 | import java.util.ArrayList;
12 |
13 | public class QuerySelector
14 | {
15 | /* Parse a query selector string */
16 | public static QuerySelector parse(String selectors)
17 | {
18 | QuerySelector q = new QuerySelector();
19 |
20 | String[] r = selectors.split("\\s");
21 | for (int i=0; i
14 | /// FSlot is the read/write fcode representation of sys::Slot.
15 | ///
16 | public class FSlot
17 | {
18 | public bool isStatic() { return (m_flags & FConst.Static) != 0; }
19 |
20 | protected void readCommon(FStore.Input input)
21 | {
22 | m_name = input.name();
23 | m_flags = input.u4();
24 | }
25 |
26 | protected void readAttrs(FStore.Input input)
27 | {
28 | m_attrs = FAttrs.read(input);
29 | }
30 |
31 | public string m_name; // simple slot name
32 | public int m_flags; // bitmask
33 | public FAttrs m_attrs; // meta-data
34 | }
35 | }
--------------------------------------------------------------------------------
/etc/syntax/syntax-axon.fog:
--------------------------------------------------------------------------------
1 | //
2 | // Syntax rules for Fan
3 | //
4 | // History:
5 | // 10 Aug 08 Brian Frank Creation
6 | //
7 |
8 | using syntax
9 |
10 | SyntaxRules
11 | {
12 | // list of end of line comment tokens
13 | comments = ["**", "//"]
14 |
15 | // block comments
16 | blockCommentStart = "/*"
17 | blockCommentEnd = "*/"
18 | blockCommentsNest = true
19 |
20 | // string and character literals
21 | strs =
22 | [
23 | SyntaxStr { delimiter = "\""; escape = '\\'; multiLine = true }, // normal Str
24 | SyntaxStr { delimiter = "`"; escape = '\\'; multiLine = false }, // Uri
25 | ]
26 |
27 | // keyword list
28 | keywords =
29 | [
30 | "and",
31 | "catch",
32 | "do",
33 | "else",
34 | "end",
35 | "false",
36 | "if",
37 | "not",
38 | "null",
39 | "or",
40 | "return",
41 | "throw",
42 | "true",
43 | "try",
44 | ]
45 | }
46 |
47 |
48 |
--------------------------------------------------------------------------------
/src/compiler/fan/CompilerErr.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 18 May 06 Brian Frank Creation
7 | //
8 |
9 | **
10 | ** CompilerErr - instances should always be created via CompilerStep.err().
11 | **
12 | const class CompilerErr : Err
13 | {
14 |
15 | new make(Str msg, Loc? loc, Err? cause := null, LogLevel level := LogLevel.err)
16 | : super(msg, cause)
17 | {
18 | this.level = level
19 | if (loc != null)
20 | {
21 | this.file = loc.file
22 | this.line = loc.line
23 | this.col = loc.col
24 | }
25 | }
26 |
27 | Loc loc() { Loc(file ?: "Unknown", line, col) }
28 |
29 | Bool isErr() { level === LogLevel.err }
30 |
31 | Bool isWarn() { level === LogLevel.warn }
32 |
33 | const LogLevel level
34 | const Str? file
35 | const Int? line
36 | const Int? col
37 | }
--------------------------------------------------------------------------------
/src/sys/java/fanx/fcode/FSlot.java:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2006, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 26 Dec 05 Brian Frank Creation
7 | //
8 | package fanx.fcode;
9 |
10 | import java.io.*;
11 | import java.util.*;
12 |
13 | /**
14 | * FSlot is the fcode representation of sys::Slot.
15 | */
16 | public class FSlot
17 | implements FConst
18 | {
19 |
20 | public final boolean isStatic() { return (flags & FConst.Static) != 0; }
21 |
22 | protected void readCommon(FStore.Input in) throws IOException
23 | {
24 | name = in.name();
25 | flags = in.u4();
26 | }
27 |
28 | protected void readAttrs(FStore.Input in) throws IOException
29 | {
30 | attrs = FAttrs.read(in);
31 | }
32 |
33 | public String name; // simple slot name
34 | public int flags; // bitmask
35 | public FAttrs attrs; // meta-data
36 |
37 | }
--------------------------------------------------------------------------------
/src/sys/locale/fr.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD MMM YYYY hh:mm:ss zzz
2 | date=DD/MM/YYYY
3 | time=hh:mm:ss
4 | float=#,###.0##
5 | decimal=#,###.0##
6 | int=#,###
7 | numDecimal=,
8 | numGrouping=\u00a0
9 | weekdayStart=mon
10 | janFull=janvier
11 | febFull=février
12 | marFull=mars
13 | aprFull=avril
14 | mayFull=mai
15 | junFull=juin
16 | julFull=juillet
17 | augFull=août
18 | sepFull=septembre
19 | octFull=octobre
20 | novFull=novembre
21 | decFull=décembre
22 | janAbbr=janv.
23 | febAbbr=févr.
24 | marAbbr=mars
25 | aprAbbr=avril
26 | mayAbbr=mai
27 | junAbbr=juin
28 | julAbbr=juil.
29 | augAbbr=août
30 | sepAbbr=sept.
31 | octAbbr=oct.
32 | novAbbr=nov.
33 | decAbbr=déc.
34 | sunFull=dimanche
35 | monFull=lundi
36 | tueFull=mardi
37 | wedFull=mercredi
38 | thuFull=jeudi
39 | friFull=vendredi
40 | satFull=samedi
41 | sunAbbr=dim.
42 | monAbbr=lun.
43 | tueAbbr=mar.
44 | wedAbbr=mer.
45 | thuAbbr=jeu.
46 | friAbbr=ven.
47 | satAbbr=sam.
48 |
--------------------------------------------------------------------------------
/src/sys/locale/hu.props:
--------------------------------------------------------------------------------
1 | dateTime=YYYY. MMM. D., WWWW, hh.mm.ss zzz
2 | date=YYYY-MM-DD
3 | time=hh.mm.ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | numDecimal=,
8 | numGrouping=\u00a0
9 | weekdayStart=sun
10 | janFull=január
11 | febFull=február
12 | marFull=március
13 | aprFull=április
14 | mayFull=május
15 | junFull=június
16 | julFull=július
17 | augFull=augusztus
18 | sepFull=szeptember
19 | octFull=október
20 | novFull=november
21 | decFull=december
22 | janAbbr=jan
23 | febAbbr=febr
24 | marAbbr=márc
25 | aprAbbr=ápr
26 | mayAbbr=máj
27 | junAbbr=jún
28 | julAbbr=júl
29 | augAbbr=aug
30 | sepAbbr=szept
31 | octAbbr=okt
32 | novAbbr=nov
33 | decAbbr=dec
34 | sunFull=vasárnap
35 | monFull=hétfő
36 | tueFull=kedd
37 | wedFull=szerda
38 | thuFull=csütörtök
39 | friFull=péntek
40 | satFull=szombat
41 | sunAbbr=v
42 | monAbbr=h
43 | tueAbbr=k
44 | wedAbbr=sze
45 | thuAbbr=cs
46 | friAbbr=p
47 | satAbbr=szo
48 |
--------------------------------------------------------------------------------
/src/sys/locale/ru.props:
--------------------------------------------------------------------------------
1 | dateTime=WWW DD MMM YYYY hh:mm:ss zzz
2 | date=DD.MM.YYYY
3 | time=hh:mm:ss
4 | float=#,###,###.0##
5 | decimal=#,###,###.0##
6 | int=#,###,###
7 | numDecimal=,
8 | numGrouping=\u00a0
9 | weekdayStart=sun
10 | janFull=Январь
11 | febFull=Февраль
12 | marFull=Март
13 | aprFull=Апрель
14 | mayFull=Май
15 | junFull=Июнь
16 | julFull=Июль
17 | augFull=Август
18 | sepFull=Сентябрь
19 | octFull=Октябрь
20 | novFull=Ноябрь
21 | decFull=Декабрь
22 | janAbbr=янв.
23 | febAbbr=февр.
24 | marAbbr=марта
25 | aprAbbr=апр.
26 | mayAbbr=мая
27 | junAbbr=июня
28 | julAbbr=июля
29 | augAbbr=авг.
30 | sepAbbr=сент.
31 | octAbbr=окт.
32 | novAbbr=нояб.
33 | decAbbr=дек.
34 | sunFull=Воскресенье
35 | monFull=Понедельник
36 | tueFull=Вторник
37 | wedFull=Среда
38 | thuFull=Четверг
39 | friFull=Пятница
40 | satFull=Суббота
41 | sunAbbr=Вс.
42 | monAbbr=Пн.
43 | tueAbbr=Вт.
44 | wedAbbr=Ср.
45 | thuAbbr=Чт.
46 | friAbbr=Пт.
47 | satAbbr=Сб.
--------------------------------------------------------------------------------
/src/xml/build.fan:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env fan
2 | //
3 | // Copyright (c) 2008, Brian Frank and Andy Frank
4 | // Licensed under the Academic Free License version 3.0
5 | //
6 | // History:
7 | // 7 Nov 08 Brian Frank Creation
8 | //
9 |
10 | using build
11 |
12 | **
13 | ** Build: xml
14 | **
15 | class Build : BuildPod
16 | {
17 | new make()
18 | {
19 | podName = "xml"
20 | summary = "XML Parser and Document Modeling"
21 | meta = ["org.name": "Fantom",
22 | "org.uri": "https://fantom.org/",
23 | "proj.name": "Fantom Core",
24 | "proj.uri": "https://fantom.org/",
25 | "license.name": "Academic Free License 3.0",
26 | "vcs.name": "Git",
27 | "vcs.uri": "https://github.com/fantom-lang/fantom"]
28 | depends = ["sys 1.0"]
29 | srcDirs = [`fan/`, `test/`]
30 | docSrc = true
31 | }
32 | }
33 |
34 |
--------------------------------------------------------------------------------
/src/sys/locale/te.props:
--------------------------------------------------------------------------------
1 | dateTime=MMMM DD WWWW YYYY aakk.mm.ss zzz
2 | date=MMMM DD WWWW YYYY
3 | time=aakk.mm.ss
4 | float=##,##,###.0##
5 | decimal=##,##,###.0##
6 | int=##,##,###
7 | weekdayStart=sun
8 | janFull=జనవరి
9 | febFull=ఫిబ్రవరి
10 | marFull=మార్చి
11 | aprFull=ఏప్రిల్
12 | mayFull=మే
13 | junFull=జూన్
14 | julFull=జూలై
15 | augFull=ఆగస్టు
16 | sepFull=సెప్టెంబరు
17 | octFull=అక్టోబరు
18 | novFull=నవంబరు
19 | decFull=డిసెంబరు
20 | janAbbr=జనవరి
21 | febAbbr=ఫిబ్రవరి
22 | marAbbr=మార్చి
23 | aprAbbr=ఏప్రిల్
24 | mayAbbr=మే
25 | junAbbr=జూన్
26 | julAbbr=జూలై
27 | augAbbr=ఆగస్టు
28 | sepAbbr=సెప్టెంబరు
29 | octAbbr=అక్టోబరు
30 | novAbbr=నవంబరు
31 | decAbbr=డిసెంబరు
32 | sunFull=ఆదివారం
33 | monFull=సోమవారం
34 | tueFull=మంగళవారం
35 | wedFull=బుధవారం
36 | thuFull=గురువారం
37 | friFull=శుక్రవారం
38 | satFull=శనివారం
39 | sunAbbr=ఆది
40 | monAbbr=సోమ
41 | tueAbbr=మంగళ
42 | wedAbbr=బుధ
43 | thuAbbr=గురు
44 | friAbbr=శుక్ర
45 | satAbbr=శని
--------------------------------------------------------------------------------
/src/dom/fan/WeakMap.fan:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2016, Brian Frank and Andy Frank
3 | // Licensed under the Academic Free License version 3.0
4 | //
5 | // History:
6 | // 9 Mar 2016 Andy Frank Creation
7 | //
8 |
9 | using web
10 |
11 | **
12 | ** WeakMap is a collection of key/value pairs in which the keys are
13 | ** weakly referenced. The keys must be objects and the values can
14 | ** be arbitrary values.
15 | **
16 | @Js
17 | class WeakMap
18 | {
19 | ** Return 'true' if key exists in this map.
20 | native Bool has(Obj key)
21 |
22 | ** Returns the value associated to the key, or 'null' if there is none.
23 | @Operator native Obj? get(Obj key)
24 |
25 | ** Sets value for given key in this map. Returns this.
26 | @Operator native This set(Obj key, Obj val)
27 |
28 | ** Removes any value associated to the key. Returns 'true'
29 | ** if an element has been removed successfully.
30 | native Bool delete(Obj key)
31 | }
--------------------------------------------------------------------------------
/src/fansh/build.fan:
--------------------------------------------------------------------------------
1 | #! /usr/bin/env fan
2 | //
3 | // Copyright (c) 2008, Brian Frank and Andy Frank
4 | // Licensed under the Academic Free License version 3.0
5 | //
6 | // History:
7 | // 1 Jan 08 Brian Frank Creation
8 | //
9 |
10 | using build
11 |
12 | **
13 | ** Build: fansh
14 | **
15 | class Build : BuildPod
16 | {
17 | new make()
18 | {
19 | podName = "fansh"
20 | summary = "Interactive Fantom Shell"
21 | meta = ["org.name": "Fantom",
22 | "org.uri": "https://fantom.org/",
23 | "proj.name": "Fantom Core",
24 | "proj.uri": "https://fantom.org/",
25 | "license.name": "Academic Free License 3.0",
26 | "vcs.name": "Git",
27 | "vcs.uri": "https://github.com/fantom-lang/fantom"]
28 | depends = ["sys 1.0", "compiler 1.0", "concurrent 1.0"]
29 | srcDirs = [`fan/`]
30 | docSrc = true
31 | }
32 | }
--------------------------------------------------------------------------------
/src/sys/locale/bn.props:
--------------------------------------------------------------------------------
1 | dateTime=WWWW DD MMM YYYY kk:mm:ss aa zzz
2 | date=WWWW DD MMM YYYY
3 | time=kk:mm:ss
4 | float=##,##,###.0##
5 | decimal=##,##,###.0##
6 | int=##,##,###
7 | weekdayStart=sun
8 | janFull=জানুয়ারি
9 | febFull=ফেব্রুয়ারি
10 | marFull=মার্চ
11 | aprFull=এপ্রিল
12 | mayFull=মে
13 | junFull=জুন
14 | julFull=জুলাই
15 | augFull=আগস্ট
16 | sepFull=সেপ্টেম্বর
17 | octFull=অক্টোবর
18 | novFull=নভেম্বর
19 | decFull=ডিসেম্বর
20 | janAbbr=জানুয়ারি
21 | febAbbr=ফেব্রুয়ারি
22 | marAbbr=মার্চ
23 | aprAbbr=এপ্রিল
24 | mayAbbr=মে
25 | junAbbr=জুন
26 | julAbbr=জুলাই
27 | augAbbr=আগস্ট
28 | sepAbbr=সেপ্টেম্বর
29 | octAbbr=অক্টোবর
30 | novAbbr=নভেম্বর
31 | decAbbr=ডিসেম্বর
32 | sunFull=রবিবার
33 | monFull=সোমবার
34 | tueFull=মঙ্গলবার
35 | wedFull=বুধবার
36 | thuFull=বৃহস্পতিবার
37 | friFull=শুক্রবার
38 | satFull=শনিবার
39 | sunAbbr=রবি
40 | monAbbr=সোম
41 | tueAbbr=মঙ্গল
42 | wedAbbr=বুধ
43 | thuAbbr=বৃহস্পতি
44 | friAbbr=শুক্র
45 | satAbbr=শনি
--------------------------------------------------------------------------------