diff --git a/.github/workflows/osx.yml b/.github/workflows/osx.yml index 5d36ad2..233bef3 100644 --- a/.github/workflows/osx.yml +++ b/.github/workflows/osx.yml @@ -1,4 +1,4 @@ -name: Mathics (OSX) +name: mathicsscript (OSX) on: push: @@ -8,11 +8,11 @@ on: jobs: build: - runs-on: osx-latest + runs-on: macos-latest strategy: matrix: os: [macOS] - python-version: [3.6, 3.7, 3.8] + python-version: [3.6, 3.7, 3.8, 3.9] steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} @@ -21,11 +21,15 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | + brew install llvm@9 python -m pip install --upgrade pip - - name: Install Mathics Scanner + LLVM_CONFIG=/usr/local/Cellar/llvm@9/9.0.1_2/bin/llvm-config pip install llvmlite + python -m pip install -e git://github.com/Mathics3/mathics-scanner.git#egg=Mathics_Scanner + python -m pip install -e git://github.com/mathics/Mathics.git#egg=Mathics3 + - name: Install mathicsscript run: | make - - name: Test Mathics Scanner + - name: Test mathicsscript run: | pip install pytest make check diff --git a/.github/workflows/ubuntu.yaml b/.github/workflows/ubuntu.yaml deleted file mode 100644 index 4bebb5e..0000000 --- a/.github/workflows/ubuntu.yaml +++ /dev/null @@ -1,31 +0,0 @@ -name: mathics-scanner (OSX) - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - build: - runs-on: ubuntu-latest - strategy: - matrix: - os: [macOS] - python-version: [3.6, 3.7, 3.8, 3.9] - steps: - - uses: actions/checkout@v2 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - python -m pip install --upgrade pip - - name: Install Mathics Scanner - run: | - make - - name: Test Mathics Scanner - run: | - pip install pytest - make check diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 107bcfa..ebd7b14 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -8,10 +8,10 @@ on: jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 strategy: matrix: - python-version: [3.6, 3.7, 3.8] + python-version: [3.6, 3.7, 3.8, 3.9] steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} @@ -22,6 +22,7 @@ jobs: run: | sudo apt-get update -qq && sudo apt-get install -qq liblapack-dev llvm-dev python -m pip install --upgrade pip + python -m pip install -e git://github.com/Mathics3/mathics-scanner.git#egg=Mathics_Scanner python -m pip install -e git://github.com/mathics/Mathics#egg=Mathics3 - name: Install mathicsscript run: | diff --git a/mathicsscript/__main__.py b/mathicsscript/__main__.py index 42b35f6..de6b174 100755 --- a/mathicsscript/__main__.py +++ b/mathicsscript/__main__.py @@ -12,7 +12,7 @@ from mathicsscript.format import format_output -from mathics import replace_wl_with_unicode +from mathics_scanner import replace_wl_with_plain_text from mathics.core.parser import FileLineFeeder from mathics.core.definitions import Definitions from mathics.core.expression import Symbol, SymbolTrue, SymbolFalse @@ -327,7 +327,9 @@ def main( current_pos = GNU_readline.get_current_history_length() for pos in range(last_pos, current_pos - 1): GNU_readline.remove_history_item(pos) - wl_input = replace_wl_with_unicode(source_code.rstrip()) + wl_input = source_code.rstrip() + if unicode: + wl_input = replace_wl_with_plain_text(wl_input) GNU_readline.add_history(wl_input) if query is None: diff --git a/mathicsscript/inputrc-no-unicode b/mathicsscript/inputrc-no-unicode index 6b05483..4cf7459 100644 --- a/mathicsscript/inputrc-no-unicode +++ b/mathicsscript/inputrc-no-unicode @@ -29,728 +29,3 @@ $include "inputrc" "\e\\chi\e": "\\[Chi]" "\e\\psi\e": "\\Psi]" "\e\\omega\e": "\\[Omega]" - -# Autogenerated from https://github.com/Mathics3/mathics-development-guide/blob/master/resources/named-characters-data.csv -"a'": "\\[AAcute]" -"a-": "\\[ABar]" -"au": "\\[ACup]" -"a\"": "\\[ADoubleDot]" -"ae": "\\[AE]" -"a`": "\\[AGrave]" -"a^": "\\[AHat]" -"al": "\\[Aleph]" -"esc": "\\[AliasIndicator]" -"am": "\\[AlignmentMarker]" -"a": "\\[Alpha]" -"alt": "\\[AltKey]" -"&&": "\\[And]" -"Ang": "\\[Angstrom]" -"ao": "\\[ARing]" -"a~": "\\[ATilde]" -"\\": "\\[Backslash]" -"be": "\\[Bet]" -"b": "\\[Beta]" -"bv": "\\[Breve]" -"bu": "\\[Bullet]" -"c'": "\\[CAcute]" -"A'": "\\[CapitalAAcute]" -"A-": "\\[CapitalABar]" -"Au": "\\[CapitalACup]" -"A\"": "\\[CapitalADoubleDot]" -"AE": "\\[CapitalAE]" -"A`": "\\[CapitalAGrave]" -"A^": "\\[CapitalAHat]" -"A": "\\[CapitalAlpha]" -"Ao": "\\[CapitalARing]" -"A~": "\\[CapitalATilde]" -"B": "\\[CapitalBeta]" -"C'": "\\[CapitalCAcute]" -"C": "\\[CapitalCCedilla]" -"Cv": "\\[CapitalCHacek]" -"Ch": "\\[CapitalChi]" -"D": "\\[CapitalDelta]" -"Dv": "\\[CapitalDHacek]" -"DD": "\\[CapitalDifferentialD]" -"Di": "\\[CapitalDigamma]" -"E'": "\\[CapitalEAcute]" -"E-": "\\[CapitalEBar]" -"Eu": "\\[CapitalECup]" -"E\"": "\\[CapitalEDoubleDot]" -"E`": "\\[CapitalEGrave]" -"Ev": "\\[CapitalEHacek]" -"E^": "\\[CapitalEHat]" -"E": "\\[CapitalEpsilon]" -"Et": "\\[CapitalEta]" -"D-": "\\[CapitalEth]" -"G": "\\[CapitalGamma]" -"I'": "\\[CapitalIAcute]" -"Iu": "\\[CapitalICup]" -"I\"": "\\[CapitalIDoubleDot]" -"I`": "\\[CapitalIGrave]" -"I^": "\\[CapitalIHat]" -"I": "\\[CapitalIota]" -"K": "\\[CapitalKappa]" -"Ko": "\\[CapitalKoppa]" -"L": "\\[CapitalLambda]" -"L/": "\\[CapitalLSlash]" -"M": "\\[CapitalMu]" -"Nv": "\\[CapitalNHacek]" -"N~": "\\[CapitalNTilde]" -"N": "\\[CapitalNu]" -"O'": "\\[CapitalOAcute]" -"O''": "\\[CapitalODoubleAcute]" -"O\"": "\\[CapitalODoubleDot]" -"OE": "\\[CapitalOE]" -"O`": "\\[CapitalOGrave]" -"O^": "\\[CapitalOHat]" -"O": "\\[CapitalOmega]" -"Om": "\\[CapitalOmicron]" -"O/": "\\[CapitalOSlash]" -"O~": "\\[CapitalOTilde]" -"Ph": "\\[CapitalPhi]" -"P": "\\[CapitalPi]" -"Ps": "\\[CapitalPsi]" -"Rv": "\\[CapitalRHacek]" -"R": "\\[CapitalRho]" -"Sa": "\\[CapitalSampi]" -"Sv": "\\[CapitalSHacek]" -"S": "\\[CapitalSigma]" -"Sti": "\\[CapitalStigma]" -"T": "\\[CapitalTau]" -"Tv": "\\[CapitalTHacek]" -"Th": "\\[CapitalTheta]" -"Thn": "\\[CapitalThorn]" -"U'": "\\[CapitalUAcute]" -"U''": "\\[CapitalUDoubleAcute]" -"U\"": "\\[CapitalUDoubleDot]" -"U`": "\\[CapitalUGrave]" -"U^": "\\[CapitalUHat]" -"U": "\\[CapitalUpsilon]" -"Uo": "\\[CapitalURing]" -"X": "\\[CapitalXi]" -"Y'": "\\[CapitalYAcute]" -"Z": "\\[CapitalZeta]" -"Zv": "\\[CapitalZHacek]" -"c": "\\[CCedilla]" -"cd": "\\[Cedilla]" -".": "\\[CenterDot]" -"cent": "\\[Cent]" -"cv": "\\[CHacek]" -"ch": "\\[Chi]" -"c.": "\\[CircleDot]" -"c-": "\\[CircleMinus]" -"c+": "\\[CirclePlus]" -"c*": "\\[CircleTimes]" -"ccint": "\\[ClockwiseContourIntegral]" -"]\"": "\\[CloseCurlyDoubleQuote]" -"]'": "\\[CloseCurlyQuote]" -"cl": "\\[CloverLeaf]" -":": "\\[Colon]" -"cmd": "\\[CommandKey]" -"===": "\\[Congruent]" -"co": "\\[Conjugate]" -"ct": "\\[ConjugateTranspose]" -"cc": "\\[ConstantC]" -"cont": "\\[Continuation]" -"cint": "\\[ContourIntegral]" -"ctrl": "\\[ControlKey]" -"coprod": "\\[Coproduct]" -"cccint": "\\[CounterClockwiseContourIntegral]" -"cross": "\\[Cross]" -"cU": "\\[CurlyCapitalUpsilon]" -"ce": "\\[CurlyEpsilon]" -"ck": "\\[CurlyKappa]" -"j": "\\[CurlyPhi]" -"cp": "\\[CurlyPi]" -"cr": "\\[CurlyRho]" -"cq": "\\[CurlyTheta]" -"dg": "\\[Dagger]" -"da": "\\[Dalet]" -"-": "\\[Dash]" -"deg": "\\[Degree]" -" del": "\\[DeleteKey]" -"del": "\\[Del]" -"d": "\\[Delta]" -"dv": "\\[DHacek]" -"dia": "\\[Diamond]" -"diffd": "\\[DifferenceDelta]" -"dd": "\\[DifferentialD]" -"di": "\\[Digamma]" -"de": "\\[DirectedEdge]" -"dratio": "\\[DiscreteRatio]" -"shift": "\\[DiscreteShift]" -"dhy": "\\[DiscretionaryHyphen]" -"dlsep": "\\[DiscretionaryLineSeparator]" -"dpba": "\\[DiscretionaryPageBreakAbove]" -"dpbb": "\\[DiscretionaryPageBreakBelow]" -"dpsep": "\\[DiscretionaryParagraphSeparator]" -"divides": "\\[Divides]" -"div": "\\[Divide]" -".=": "\\[DotEqual]" -"ddg": "\\[DoubleDagger]" -"gg": "\\[DoubledGamma]" -"pp": "\\[DoubledPi]" -" <=": "\\[DoubleLeftArrow]" -"<=>": "\\[DoubleLeftRightArrow]" -"<==": "\\[DoubleLongLeftArrow]" -"<==>": "\\[DoubleLongLeftRightArrow]" -"==>": "\\[DoubleLongRightArrow]" -"''": "\\[DoublePrime]" -" =>": "\\[DoubleRightArrow]" -"dsa": "\\[DoubleStruckA]" -"dsb": "\\[DoubleStruckB]" -"dsc": "\\[DoubleStruckC]" -"dsA": "\\[DoubleStruckCapitalA]" -"dsB": "\\[DoubleStruckCapitalB]" -"dsC": "\\[DoubleStruckCapitalC]" -"dsD": "\\[DoubleStruckCapitalD]" -"dsE": "\\[DoubleStruckCapitalE]" -"dsF": "\\[DoubleStruckCapitalF]" -"dsG": "\\[DoubleStruckCapitalG]" -"dsH": "\\[DoubleStruckCapitalH]" -"dsI": "\\[DoubleStruckCapitalI]" -"dsJ": "\\[DoubleStruckCapitalJ]" -"dsK": "\\[DoubleStruckCapitalK]" -"dsL": "\\[DoubleStruckCapitalL]" -"dsM": "\\[DoubleStruckCapitalM]" -"dsN": "\\[DoubleStruckCapitalN]" -"dsO": "\\[DoubleStruckCapitalO]" -"dsP": "\\[DoubleStruckCapitalP]" -"dsQ": "\\[DoubleStruckCapitalQ]" -"dsR": "\\[DoubleStruckCapitalR]" -"dsS": "\\[DoubleStruckCapitalS]" -"dsT": "\\[DoubleStruckCapitalT]" -"dsU": "\\[DoubleStruckCapitalU]" -"dsV": "\\[DoubleStruckCapitalV]" -"dsW": "\\[DoubleStruckCapitalW]" -"dsX": "\\[DoubleStruckCapitalX]" -"dsY": "\\[DoubleStruckCapitalY]" -"dsZ": "\\[DoubleStruckCapitalZ]" -"dsd": "\\[DoubleStruckD]" -"dse": "\\[DoubleStruckE]" -"ds8": "\\[DoubleStruckEight]" -"dsf": "\\[DoubleStruckF]" -"ds5": "\\[DoubleStruckFive]" -"ds4": "\\[DoubleStruckFour]" -"dsg": "\\[DoubleStruckG]" -"dsh": "\\[DoubleStruckH]" -"dsi": "\\[DoubleStruckI]" -"dsj": "\\[DoubleStruckJ]" -"dsk": "\\[DoubleStruckK]" -"dsl": "\\[DoubleStruckL]" -"dsm": "\\[DoubleStruckM]" -"dsn": "\\[DoubleStruckN]" -"ds9": "\\[DoubleStruckNine]" -"dso": "\\[DoubleStruckO]" -"ds1": "\\[DoubleStruckOne]" -"dsp": "\\[DoubleStruckP]" -"dsq": "\\[DoubleStruckQ]" -"dsr": "\\[DoubleStruckR]" -"dss": "\\[DoubleStruckS]" -"ds7": "\\[DoubleStruckSeven]" -"ds6": "\\[DoubleStruckSix]" -"dst": "\\[DoubleStruckT]" -"ds3": "\\[DoubleStruckThree]" -"ds2": "\\[DoubleStruckTwo]" -"dsu": "\\[DoubleStruckU]" -"dsv": "\\[DoubleStruckV]" -"dsw": "\\[DoubleStruckW]" -"dsx": "\\[DoubleStruckX]" -"dsy": "\\[DoubleStruckY]" -"dsz": "\\[DoubleStruckZ]" -"ds0": "\\[DoubleStruckZero]" -" ||": "\\[DoubleVerticalBar]" -"dbv": "\\[DownBreve]" -"d!": "\\[DownExclamation]" -"d?": "\\[DownQuestion]" -"dT": "\\[DownTee]" -"e'": "\\[EAcute]" -"e-": "\\[EBar]" -"eu": "\\[ECup]" -"e\"": "\\[EDoubleDot]" -"e`": "\\[EGrave]" -"ev": "\\[EHacek]" -"e^": "\\[EHat]" -"el": "\\[Element]" -"...": "\\[Ellipsis]" -"eci": "\\[EmptyCircle]" -"es": "\\[EmptySet]" -"esci": "\\[EmptySmallCircle]" -"essq": "\\[EmptySmallSquare]" -"esq": "\\[EmptySquare]" -"evssq": "\\[EmptyVerySmallSquare]" -"ent": "\\[EnterKey]" -"e": "\\[Epsilon]" -"==": "\\[Equal]" -"=~": "\\[EqualTilde]" -"equi": "\\[Equilibrium]" -"equiv": "\\[Equivalent]" -" esc": "\\[EscapeKey]" -"et": "\\[Eta]" -"d-": "\\[Eth]" -"ex": "\\[Exists]" -"ee": "\\[ExponentialE]" -"fci": "\\[FilledCircle]" -"fsci": "\\[FilledSmallCircle]" -"fssq": "\\[FilledSmallSquare]" -"fsq": "\\[FilledSquare]" -"fvssq": "\\[FilledVerySmallSquare]" -"fs": "\\[FinalSigma]" -"*5": "\\[FivePointedStar]" -"fa": "\\[ForAll]" -".a": "\\[FormalA]" -".Alpha": "\\[FormalAlpha]" -".b": "\\[FormalB]" -".Beta": "\\[FormalBeta]" -".c": "\\[FormalC]" -".A": "\\[FormalCapitalA]" -".CapitalAlpha": "\\[FormalCapitalAlpha]" -".B": "\\[FormalCapitalB]" -".CapitalBeta": "\\[FormalCapitalBeta]" -".C": "\\[FormalCapitalC]" -".CapitalChi": "\\[FormalCapitalChi]" -".D": "\\[FormalCapitalD]" -".CapitalDelta": "\\[FormalCapitalDelta]" -".CapitalDigamma": "\\[FormalCapitalDigamma]" -".E": "\\[FormalCapitalE]" -".CapitalEpsilon": "\\[FormalCapitalEpsilon]" -".CapitalEta": "\\[FormalCapitalEta]" -".F": "\\[FormalCapitalF]" -".G": "\\[FormalCapitalG]" -".CapitalGamma": "\\[FormalCapitalGamma]" -".H": "\\[FormalCapitalH]" -".I": "\\[FormalCapitalI]" -".CapitalIota": "\\[FormalCapitalIota]" -".J": "\\[FormalCapitalJ]" -".K": "\\[FormalCapitalK]" -".CapitalKappa": "\\[FormalCapitalKappa]" -".CapitalKoppa": "\\[FormalCapitalKoppa]" -".L": "\\[FormalCapitalL]" -".CapitalLambda": "\\[FormalCapitalLambda]" -".M": "\\[FormalCapitalM]" -".CapitalMu": "\\[FormalCapitalMu]" -".N": "\\[FormalCapitalN]" -".CapitalNu": "\\[FormalCapitalNu]" -".O": "\\[FormalCapitalO]" -".CapitalOmega": "\\[FormalCapitalOmega]" -".CapitalOmicron": "\\[FormalCapitalOmicron]" -".P": "\\[FormalCapitalP]" -".CapitalPhi": "\\[FormalCapitalPhi]" -".CapitalPi": "\\[FormalCapitalPi]" -".CapitalPsi": "\\[FormalCapitalPsi]" -".Q": "\\[FormalCapitalQ]" -".R": "\\[FormalCapitalR]" -".CapitalRho": "\\[FormalCapitalRho]" -".S": "\\[FormalCapitalS]" -".CapitalSampi": "\\[FormalCapitalSampi]" -".CapitalSigma": "\\[FormalCapitalSigma]" -".CapitalStigma": "\\[FormalCapitalStigma]" -".T": "\\[FormalCapitalT]" -".CapitalTau": "\\[FormalCapitalTau]" -".CapitalTheta": "\\[FormalCapitalTheta]" -".U": "\\[FormalCapitalU]" -".CapitalUpsilon": "\\[FormalCapitalUpsilon]" -".V": "\\[FormalCapitalV]" -".W": "\\[FormalCapitalW]" -".X": "\\[FormalCapitalX]" -".CapitalXi": "\\[FormalCapitalXi]" -".Y": "\\[FormalCapitalY]" -".Z": "\\[FormalCapitalZ]" -".CapitalZeta": "\\[FormalCapitalZeta]" -".Chi": "\\[FormalChi]" -".CurlyCapitalUpsilon": "\\[FormalCurlyCapitalUpsilon]" -".CurlyEpsilon": "\\[FormalCurlyEpsilon]" -".CurlyKappa": "\\[FormalCurlyKappa]" -".CurlyPhi": "\\[FormalCurlyPhi]" -".CurlyPi": "\\[FormalCurlyPi]" -".CurlyRho": "\\[FormalCurlyRho]" -".CurlyTheta": "\\[FormalCurlyTheta]" -".d": "\\[FormalD]" -".Delta": "\\[FormalDelta]" -".Digamma": "\\[FormalDigamma]" -".e": "\\[FormalE]" -".Epsilon": "\\[FormalEpsilon]" -".Eta": "\\[FormalEta]" -".f": "\\[FormalF]" -".FinalSigma": "\\[FormalFinalSigma]" -".g": "\\[FormalG]" -".Gamma": "\\[FormalGamma]" -".h": "\\[FormalH]" -".i": "\\[FormalI]" -".Iota": "\\[FormalIota]" -".j": "\\[FormalJ]" -".k": "\\[FormalK]" -".Kappa": "\\[FormalKappa]" -".Koppa": "\\[FormalKoppa]" -".l": "\\[FormalL]" -".Lambda": "\\[FormalLambda]" -".m": "\\[FormalM]" -".Mu": "\\[FormalMu]" -".n": "\\[FormalN]" -".Nu": "\\[FormalNu]" -".o": "\\[FormalO]" -".Omega": "\\[FormalOmega]" -".Omicron": "\\[FormalOmicron]" -".p": "\\[FormalP]" -".Phi": "\\[FormalPhi]" -".Pi": "\\[FormalPi]" -".Psi": "\\[FormalPsi]" -".q": "\\[FormalQ]" -".r": "\\[FormalR]" -".Rho": "\\[FormalRho]" -".s": "\\[FormalS]" -".Sampi": "\\[FormalSampi]" -".Sigma": "\\[FormalSigma]" -".Stigma": "\\[FormalStigma]" -".t": "\\[FormalT]" -".Tau": "\\[FormalTau]" -".Theta": "\\[FormalTheta]" -".u": "\\[FormalU]" -".Upsilon": "\\[FormalUpsilon]" -".v": "\\[FormalV]" -".w": "\\[FormalW]" -".x": "\\[FormalX]" -".Xi": "\\[FormalXi]" -".y": "\\[FormalY]" -".z": "\\[FormalZ]" -".Zeta": "\\[FormalZeta]" -":-@": "\\[FreakedSmiley]" -"|->": "\\[Function]" -"g": "\\[Gamma]" -"gi": "\\[Gimel]" -"goa": "\\[GothicA]" -"gob": "\\[GothicB]" -"goc": "\\[GothicC]" -"goA": "\\[GothicCapitalA]" -"goB": "\\[GothicCapitalB]" -"goC": "\\[GothicCapitalC]" -"goD": "\\[GothicCapitalD]" -"goE": "\\[GothicCapitalE]" -"goF": "\\[GothicCapitalF]" -"goG": "\\[GothicCapitalG]" -"goH": "\\[GothicCapitalH]" -"goI": "\\[GothicCapitalI]" -"goJ": "\\[GothicCapitalJ]" -"goK": "\\[GothicCapitalK]" -"goL": "\\[GothicCapitalL]" -"goM": "\\[GothicCapitalM]" -"goN": "\\[GothicCapitalN]" -"goO": "\\[GothicCapitalO]" -"goP": "\\[GothicCapitalP]" -"goQ": "\\[GothicCapitalQ]" -"goR": "\\[GothicCapitalR]" -"goS": "\\[GothicCapitalS]" -"goT": "\\[GothicCapitalT]" -"goU": "\\[GothicCapitalU]" -"goV": "\\[GothicCapitalV]" -"goW": "\\[GothicCapitalW]" -"goX": "\\[GothicCapitalX]" -"goY": "\\[GothicCapitalY]" -"goZ": "\\[GothicCapitalZ]" -"god": "\\[GothicD]" -"goe": "\\[GothicE]" -"go8": "\\[GothicEight]" -"gof": "\\[GothicF]" -"go5": "\\[GothicFive]" -"go4": "\\[GothicFour]" -"gog": "\\[GothicG]" -"goh": "\\[GothicH]" -"goi": "\\[GothicI]" -"goj": "\\[GothicJ]" -"gok": "\\[GothicK]" -"gol": "\\[GothicL]" -"gom": "\\[GothicM]" -"gon": "\\[GothicN]" -"go9": "\\[GothicNine]" -"goo": "\\[GothicO]" -"go1": "\\[GothicOne]" -"gop": "\\[GothicP]" -"goq": "\\[GothicQ]" -"gor": "\\[GothicR]" -"gos": "\\[GothicS]" -"go7": "\\[GothicSeven]" -"go6": "\\[GothicSix]" -"got": "\\[GothicT]" -"go3": "\\[GothicThree]" -"go2": "\\[GothicTwo]" -"gou": "\\[GothicU]" -"gov": "\\[GothicV]" -"gow": "\\[GothicW]" -"gox": "\\[GothicX]" -"goy": "\\[GothicY]" -"goz": "\\[GothicZ]" -"go0": "\\[GothicZero]" -"gci": "\\[GrayCircle]" -"gsq": "\\[GraySquare]" -">=": "\\[GreaterEqual]" -">/": "\\[GreaterSlantEqual]" -">~": "\\[GreaterTilde]" -"hck": "\\[Hacek]" -":)": "\\[HappySmiley]" -"hb": "\\[HBar]" -"hc": "\\[HermitianConjugate]" -"hline": "\\[HorizontalLine]" -"h=": "\\[HumpEqual]" -"hy": "\\[Hyphen]" -"i'": "\\[IAcute]" -"iu": "\\[ICup]" -"i\"": "\\[IDoubleDot]" -"i`": "\\[IGrave]" -"i^": "\\[IHat]" -"ii": "\\[ImaginaryI]" -"jj": "\\[ImaginaryJ]" -"+": "\\[ImplicitPlus]" -"=>": "\\[Implies]" -"inf": "\\[Infinity]" -"int": "\\[Integral]" -"inter": "\\[Intersection]" -"@": "\\[InvisibleApplication]" -"-i": "\\[InvisiblePostfixScriptBase]" -"i-": "\\[InvisiblePrefixScriptBase]" -"is": "\\[InvisibleSpace]" -"i": "\\[Iota]" -"k": "\\[Kappa]" -"ko": "\\[Koppa]" -"l": "\\[Lambda]" -"<": "\\[LeftAngleBracket]" -"<-": "\\[LeftArrow]" -"<|": "\\[LeftAssociation]" -"l|": "\\[LeftBracketingBar]" -"lc": "\\[LeftCeiling]" -"[[": "\\[LeftDoubleBracket]" -"l||": "\\[LeftDoubleBracketingBar]" -"lf": "\\[LeftFloor]" -"g<<": "\\[LeftGuillemet]" -"[": "\\[LeftModified]" -"<->": "\\[LeftRightArrow]" -"lT": "\\[LeftTee]" -"<=": "\\[LessEqual]" -"": "\\[LongLeftRightArrow]" -"-->": "\\[LongRightArrow]" -"l/": "\\[LSlash]" -"math": "\\[MathematicaIcon]" -"mho": "\\[Mho]" -"mi": "\\[Micro]" -"-+": "\\[MinusPlus]" -"m": "\\[Mu]" -"nand": "\\[Nand]" -"- ": "\\[NegativeMediumSpace]" -"- ": "\\[NegativeThickSpace]" -"- ": "\\[NegativeThinSpace]" -"- ": "\\[NegativeVeryThinSpace]" -":-|": "\\[NeutralSmiley]" -"nv": "\\[NHacek]" -"nb": "\\[NoBreak]" -"nbs": "\\[NonBreakingSpace]" -"nor": "\\[Nor]" -"!===": "\\[NotCongruent]" -"!||": "\\[NotDoubleVerticalBar]" -"!el": "\\[NotElement]" -"!=": "\\[NotEqual]" -"!=~": "\\[NotEqualTilde]" -"!ex": "\\[NotExists]" -"!>": "\\[NotGreater]" -"!>=": "\\[NotGreaterEqual]" -"!>/": "\\[NotGreaterSlantEqual]" -"!>~": "\\[NotGreaterTilde]" -"!h=": "\\[NotHumpEqual]" -"!<=": "\\[NotLessEqual]" -"!<": "\\[NotLess]" -"!": "\\[RightAngleBracket]" -" ->": "\\[RightArrow]" -"|>": "\\[RightAssociation]" -"r|": "\\[RightBracketingBar]" -"rc": "\\[RightCeiling]" -"]]": "\\[RightDoubleBracket]" -"r||": "\\[RightDoubleBracketingBar]" -"rf": "\\[RightFloor]" -"g>>": "\\[RightGuillemet]" -"]": "\\[RightModified]" -"rT": "\\[RightTee]" -"vec": "\\[RightVector]" -"->": "\\[Rule]" -":>": "\\[RuleDelayed]" -":-(": "\\[SadSmiley]" -"sa": "\\[Sampi]" -"sca": "\\[ScriptA]" -"scb": "\\[ScriptB]" -"scc": "\\[ScriptC]" -"scA": "\\[ScriptCapitalA]" -"scB": "\\[ScriptCapitalB]" -"scC": "\\[ScriptCapitalC]" -"scD": "\\[ScriptCapitalD]" -"scE": "\\[ScriptCapitalE]" -"scF": "\\[ScriptCapitalF]" -"scG": "\\[ScriptCapitalG]" -"scH": "\\[ScriptCapitalH]" -"scI": "\\[ScriptCapitalI]" -"scJ": "\\[ScriptCapitalJ]" -"scK": "\\[ScriptCapitalK]" -"scL": "\\[ScriptCapitalL]" -"scM": "\\[ScriptCapitalM]" -"scN": "\\[ScriptCapitalN]" -"scO": "\\[ScriptCapitalO]" -"scP": "\\[ScriptCapitalP]" -"scQ": "\\[ScriptCapitalQ]" -"scR": "\\[ScriptCapitalR]" -"scS": "\\[ScriptCapitalS]" -"scT": "\\[ScriptCapitalT]" -"scU": "\\[ScriptCapitalU]" -"scV": "\\[ScriptCapitalV]" -"scW": "\\[ScriptCapitalW]" -"scX": "\\[ScriptCapitalX]" -"scY": "\\[ScriptCapitalY]" -"scZ": "\\[ScriptCapitalZ]" -"scd": "\\[ScriptD]" -"sce": "\\[ScriptE]" -"sc8": "\\[ScriptEight]" -"scf": "\\[ScriptF]" -"sc5": "\\[ScriptFive]" -"sc4": "\\[ScriptFour]" -"scg": "\\[ScriptG]" -"sch": "\\[ScriptH]" -"sci": "\\[ScriptI]" -"scj": "\\[ScriptJ]" -"sck": "\\[ScriptK]" -"scl": "\\[ScriptL]" -"scm": "\\[ScriptM]" -"scn": "\\[ScriptN]" -"sc9": "\\[ScriptNine]" -"sco": "\\[ScriptO]" -"sc1": "\\[ScriptOne]" -"scp": "\\[ScriptP]" -"scq": "\\[ScriptQ]" -"scr": "\\[ScriptR]" -"scs": "\\[ScriptS]" -"sc7": "\\[ScriptSeven]" -"sc6": "\\[ScriptSix]" -"sct": "\\[ScriptT]" -"sc3": "\\[ScriptThree]" -"sc2": "\\[ScriptTwo]" -"scu": "\\[ScriptU]" -"scv": "\\[ScriptV]" -"scw": "\\[ScriptW]" -"scx": "\\[ScriptX]" -"scy": "\\[ScriptY]" -"scz": "\\[ScriptZ]" -"sc0": "\\[ScriptZero]" -"spl": "\\[SelectionPlaceholder]" -"sv": "\\[SHacek]" -"s": "\\[Sigma]" -"*6": "\\[SixPointedStar]" -"sc": "\\[SmallCircle]" -"space": "\\[SpaceIndicator]" -"spc": "\\[SpaceKey]" -"sfa": "\\[SpanFromAbove]" -"sfb": "\\[SpanFromBoth]" -"sfl": "\\[SpanFromLeft]" -"sqrt": "\\[Sqrt]" -"sq": "\\[Square]" -"star": "\\[Star]" -"sti": "\\[Stigma]" -"sub": "\\[Subset]" -"sub=": "\\[SubsetEqual]" -"st": "\\[SuchThat]" -"sum": "\\[Sum]" -"sup": "\\[Superset]" -"sup=": "\\[SupersetEqual]" -"sz": "\\[SZ]" -"tab": "\\[TabKey]" -"t": "\\[Tau]" -"tv": "\\[THacek]" -"tf": "\\[Therefore]" -"th": "\\[Theta]" -"thn": "\\[Thorn]" -"~": "\\[Tilde]" -"~=": "\\[TildeEqual]" -"~==": "\\[TildeFullEqual]" -"~~": "\\[TildeTilde]" -"*": "\\[Times]" -"tm": "\\[Trademark]" -"tr": "\\[Transpose]" -"u'": "\\[UAcute]" -"u''": "\\[UDoubleAcute]" -"u\"": "\\[UDoubleDot]" -"u`": "\\[UGrave]" -"u^": "\\[UHat]" -"u{": "\\[UnderBrace]" -"u[": "\\[UnderBracket]" -"u(": "\\[UnderParenthesis]" -"ue": "\\[UndirectedEdge]" -"un": "\\[Union]" -"u": "\\[Upsilon]" -"uT": "\\[UpTee]" -"uo": "\\[URing]" -"v": "\\[Vee]" -" |": "\\[VerticalBar]" -"vline": "\\[VerticalLine]" -"|": "\\[VerticalSeparator]" -"^": "\\[Wedge]" -"wp": "\\[WeierstrassP]" -"wf": "\\[Wolf]" -"x": "\\[Xi]" -"xnor": "\\[Xnor]" -"xor": "\\[Xor]" -"y'": "\\[YAcute]" -"y\"": "\\[YDoubleDot]" -"z": "\\[Zeta]" -"zv": "\\[ZHacek]" - diff --git a/mathicsscript/termshell.py b/mathicsscript/termshell.py index ce8f257..5667edb 100644 --- a/mathicsscript/termshell.py +++ b/mathicsscript/termshell.py @@ -9,11 +9,10 @@ import sys import re from columnize import columnize -from mathics import replace_unicode_with_wl +from mathics_scanner import replace_unicode_with_wl, named_characters from mathics.core.expression import Expression, String, Symbol from mathics.core.expression import strip_context, from_python from mathics.core.rules import Rule -from mathics.core.characters import named_characters from pygments import highlight, lex from mathicsscript.mmalexer import MathematicaLexer @@ -133,7 +132,10 @@ def __init__( inputrc = ( "inputrc-unicode" if use_unicode else "inputrc-no-unicode" ) - read_init_file(str(parent_dir / inputrc)) + try: + read_init_file(str(parent_dir / inputrc)) + except: + pass parse_and_bind("tab: complete") self.completion_candidates = []