mirror of
https://github.com/unisonweb/unison.git
synced 2024-09-17 13:27:30 +03:00
174 lines
2.9 KiB
Markdown
174 lines
2.9 KiB
Markdown
# demonstrating our new input parsing errors
|
||
|
||
```ucm:hide
|
||
scratch/main> builtins.merge lib.builtin
|
||
```
|
||
|
||
```unison:hide
|
||
x = 55
|
||
```
|
||
```ucm:hide
|
||
scratch/main> add
|
||
```
|
||
|
||
`handleNameArg` parse error in `add`
|
||
```ucm:error
|
||
scratch/main> add .
|
||
scratch/main> ls
|
||
scratch/main> add 1
|
||
scratch/main> ls
|
||
scratch/main> add 2
|
||
```
|
||
|
||
todo:
|
||
```haskell
|
||
SA.Name name -> pure name
|
||
SA.NameWithBranchPrefix (Left _) name -> pure name
|
||
SA.NameWithBranchPrefix (Right prefix) name -> pure $ Path.prefixNameIfRel (Path.AbsolutePath' prefix) name
|
||
SA.HashQualified hqname -> maybe (Left "can’t find a name from the numbered arg") pure $ HQ.toName hqname
|
||
SA.HashQualifiedWithBranchPrefix (Left _) hqname -> pure $ HQ'.toName hqname
|
||
SA.HashQualifiedWithBranchPrefix (Right prefix) hqname ->
|
||
pure . Path.prefixNameIfRel (Path.AbsolutePath' prefix) $ HQ'.toName hqname
|
||
SA.ShallowListEntry prefix entry ->
|
||
pure . HQ'.toName . fmap (Path.prefixNameIfRel prefix) $ shallowListEntryToHQ' entry
|
||
SA.SearchResult mpath result ->
|
||
maybe (Left "can’t find a name from the numbered arg") pure . HQ.toName $ searchResultToHQ mpath result
|
||
otherNumArg -> Left . I.Formatted $ wrongStructuredArgument "a name" otherNumArg
|
||
```
|
||
|
||
aliasMany: skipped -- similar to `add`
|
||
|
||
```ucm:error
|
||
scratch/main> update arg
|
||
```
|
||
|
||
aliasTerm
|
||
```
|
||
scratch/main> alias.term ##Nat.+ Nat.+
|
||
```
|
||
|
||
aliasTermForce,
|
||
aliasType,
|
||
|
||
|
||
todo:
|
||
```
|
||
|
||
aliasMany,
|
||
api,
|
||
authLogin,
|
||
back,
|
||
branchEmptyInputPattern,
|
||
branchInputPattern,
|
||
branchRenameInputPattern,
|
||
branchesInputPattern,
|
||
cd,
|
||
clear,
|
||
clone,
|
||
compileScheme,
|
||
createAuthor,
|
||
debugClearWatchCache,
|
||
debugDoctor,
|
||
debugDumpNamespace,
|
||
debugDumpNamespaceSimple,
|
||
debugTerm,
|
||
debugTermVerbose,
|
||
debugType,
|
||
debugLSPFoldRanges,
|
||
debugFileHashes,
|
||
debugNameDiff,
|
||
debugNumberedArgs,
|
||
debugTabCompletion,
|
||
debugFuzzyOptions,
|
||
debugFormat,
|
||
delete,
|
||
deleteBranch,
|
||
deleteProject,
|
||
deleteNamespace,
|
||
deleteNamespaceForce,
|
||
deleteTerm,
|
||
deleteTermVerbose,
|
||
deleteType,
|
||
deleteTypeVerbose,
|
||
deleteVerbose,
|
||
dependencies,
|
||
dependents,
|
||
diffNamespace,
|
||
display,
|
||
displayTo,
|
||
docToMarkdown,
|
||
docs,
|
||
docsToHtml,
|
||
edit,
|
||
editNamespace,
|
||
execute,
|
||
find,
|
||
findIn,
|
||
findAll,
|
||
findInAll,
|
||
findGlobal,
|
||
findShallow,
|
||
findVerbose,
|
||
findVerboseAll,
|
||
sfind,
|
||
sfindReplace,
|
||
forkLocal,
|
||
help,
|
||
helpTopics,
|
||
history,
|
||
ioTest,
|
||
ioTestAll,
|
||
libInstallInputPattern,
|
||
load,
|
||
makeStandalone,
|
||
mergeBuiltins,
|
||
mergeIOBuiltins,
|
||
mergeOldInputPattern,
|
||
mergeOldPreviewInputPattern,
|
||
mergeOldSquashInputPattern,
|
||
mergeInputPattern,
|
||
mergeCommitInputPattern,
|
||
names False, -- names
|
||
names True, -- names.global
|
||
namespaceDependencies,
|
||
previewAdd,
|
||
previewUpdate,
|
||
printVersion,
|
||
projectCreate,
|
||
projectCreateEmptyInputPattern,
|
||
projectRenameInputPattern,
|
||
projectSwitch,
|
||
projectsInputPattern,
|
||
pull,
|
||
pullWithoutHistory,
|
||
push,
|
||
pushCreate,
|
||
pushExhaustive,
|
||
pushForce,
|
||
quit,
|
||
releaseDraft,
|
||
renameBranch,
|
||
renameTerm,
|
||
renameType,
|
||
moveAll,
|
||
reset,
|
||
resetRoot,
|
||
runScheme,
|
||
saveExecuteResult,
|
||
test,
|
||
testAll,
|
||
todo,
|
||
ui,
|
||
undo,
|
||
up,
|
||
update,
|
||
updateBuiltins,
|
||
updateOld,
|
||
updateOldNoPatch,
|
||
upgrade,
|
||
upgradeCommitInputPattern,
|
||
view,
|
||
viewGlobal,
|
||
viewReflog
|
||
```
|