{"id":27883377,"url":"https://github.com/zsakowitz/umpharesemsa","last_synced_at":"2025-10-27T00:08:50.259Z","repository":{"id":191023691,"uuid":"683785240","full_name":"zsakowitz/umpharesemsa","owner":"zsakowitz","description":null,"archived":false,"fork":false,"pushed_at":"2023-08-31T01:38:24.000Z","size":51,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-05T06:15:29.824Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zsakowitz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-08-27T17:30:07.000Z","updated_at":"2023-09-02T23:49:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"b6087cf2-0d93-4cc2-846c-71be267ea8dd","html_url":"https://github.com/zsakowitz/umpharesemsa","commit_stats":null,"previous_names":["zsakowitz/ithkuil-bot","zsakowitz/umpharesemsa"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zsakowitz%2Fumpharesemsa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zsakowitz%2Fumpharesemsa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zsakowitz%2Fumpharesemsa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zsakowitz%2Fumpharesemsa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zsakowitz","download_url":"https://codeload.github.com/zsakowitz/umpharesemsa/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252448579,"owners_count":21749496,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-05T06:15:31.683Z","updated_at":"2025-10-27T00:08:45.229Z","avatar_url":"https://github.com/zsakowitz.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Hi! I'm @umpharesemsa, a complement to the Ithkuil IV glossing bot\n@irburučpaizya. I can help you generate all kinds of words in Ithkuil, and I can\nalso help you look up roots and affixes.\n\n## Overview of Commands\n\n- **/find root query**: searches for roots based on \"query\"\n- **/find affix query**: searches for affixes based on \"query\"\n- **/find any query**: searches for roots and affixes based on \"query\"\n- **/gloss word_or_sentence**: glosses the given word or sentence\n- **/help**: links to this help page\n- **/ungloss gloss_string**: turns the given gloss string into the word; see\n  details below\n\n## Generating Words\n\n- **/ungloss string**: converts the gloss \"string\" to a word\n\n\u003e If you want to directly use root and affix descriptions in your glosses, make\n\u003e sure roots are surrounded with double quotes and affixes are surrounded by\n\u003e single quotes.\n\u003e\n\u003e Write **\"cat\"-CSV-G-'warm'-ERG**, not **cat-CSV-G-warm-ERG**.\n\nTo be parsed properly, follow the guide below for typing glosses.\n\nGlosses are represented as a series of segments separated with dashes, such as\n`rr-CSV-G-tf/7-ERG`. Segments primarily fall into two categories: uncategorized\nsegments, and tail segments.\n\nTail segments include:\n\n- Affixes, such as **tf/7**, **zj/2**, and **nk/2₃**.\n- Ca segments, such as **A**, **COA.DPX.RPV**, and **PRX**.\n- Vn segments, such as **PRL**, **3:DET**, and **RSM**.\n- Mood/case-scope segments, such as **HYP**, **CCV**, and **SUB**.\n- Case segments, such as **ERG**, **ACT**, and **LOC**.\n- Illocution/validation segments, such as **DEC**, **PUP**, and **HOR**.\n- Case-stacking segments, such as **(case:ERG)**, **(case:ACT)**, and\n  **(case:LOC)**.\n- Case-accessors, such as **(acc:ERG)**, **(acc:ACT)**, and **(acc:LOC)**.\n- Inverse-accessors, such as **(ia:ERG)**, **(ia:ACT)**, and **(ia:LOC)**.\n- Referential affixes, such as **(1m-THM)** and **([2m+ma]+N-ABL)**.\n\nTail segments are unique in that they can all be represented as affixes.\n\n### Writing Formatives\n\nTo write a formative, start by writing the concatenation type (T1, T2, or none),\nstem, version, root, function, specification, and context. Then, add as many\ntail segments as you like.\n\nThe root may be a standard root (e.g. **rr**, **mph**, or **l**), an affix (e.g.\n**c/1** or **rns/9**), or a referent (e.g. **1m**, **2m.DET**, or\n**[1m+ma.BEN]**).\n\nTo express a Ca shortcut, write the Ca form before the root. To express an affix\nshortcut, write **(NEG/4)**, **(DCD/4)**, or **(DCD/5)** before the root.\n\nExamples:\n\n- **T1-ççt-STM**\n- **G-l-CTE-c/3-ERG**\n- **rr-COA.MSS.PRX.RPV-2:DET-HYP**\n\nFormatives are assumed to be nominal by default. To mark a framed verbal\nformative, end its gloss with **-FRM**, as in `l-c/7-FRM`. To mark a plain\nverbal formative, end its gloss with a mood or illocution, as in `l-OBS`.\n\n### Writing Referentials\n\nTo write a referential, start either with a referent or a suppletive adjunct,\nwhich we'll call the referential head. **1m**, **[1m+2m]+G**, and **[QUO]** are\nall valid referential heads.\n\nFor a single referential, follow the head with a case, or write it standalone.\n**1m-ERG**, **[2m+ma]**, and **ma+A-LOC** are all valid single referentials.\n\nFor a dual referential, follow the head with a case for the head, then another\ncase, then a referent. **1m-ERG-ABS-2m** and **[2m+ma]-LOC-THM-pi** are both\nvalid dual referentials.\n\nFor combination referentials, follow the head with an optional case, an optional\nspecification, and zero or more tail segments. If the final tail segment is a\ncase, it will be used as the second case of the combination referential.\n**1m-CTE**, **PVS-LOC-(IRG)**, and **[Mx+Obv]+N-CSV** are all valid combination\nreferentials.\n\nNote that many referentials are also perfectly valid formative glosses. To see\nboth the formative and referential interpretation of your gloss, set the `all`\noption on the `/gloss` command to `True`.\n\n### Writing Adjuncts\n\nTo write a bias adjunct, just write its abbreviation, such as **SOL**, **SKP**,\nor **ANP**.\n\nTo write a register adjunct, write its abbreviation, such as **DSV**, **EXM**,\nor **PNT**. To write a final register adjunct, write its abbreviation followed\nby `_END`, such as **DSV_END**, **EXM_END**, or **PNT_END**.\n\nTo write a parsing adjunct, write `mono:`, `ulti:`, `penu:`, or `ante:`,\ndepending on the stress required.\n\nTo write a suppletive adjunct, write `[CAR]`, `[QUO]`, `[NAM]`, or `[PHR]`,\noptionally followed by a case. **\\[QUO\\]**, **\\[NAM\\]-ERG**, and **\\[PHR\\]-LOC**\nare all valid suppletive adjuncts.\n\nThe syntaxes of affixual adjuncts and modular adjuncts are somewhat more\nnuanced, and are discussed below.\n\n### Writing Affixual Adjuncts\n\nAn affixual adjunct consists of one or more tail segments joined with hyphens.\n\nIf `{concat.}` appears in the adjunct, it will only apply to the concatenated\nstem of the following word, rather than to the formative as a whole.\n\nTo indicate the scope of the first affix of the adjunct, write **{form.}**,\n**{adj.}**, **{V:DOM}**, **{V:SUB}**, **{VII:DOM}**, or **{VII:SUB}** after the\nfirst segment. If none is specified, it defaults to **{V:DOM}**.\n\nTo indicate the scope of all affixes other than the first, write **{form.}**,\n**{adj.}**, **{V:DOM}**, **{V:SUB}**, **{VII:DOM}**, or **{VII:SUB}** at the end\nof the adjunct. If none is specified, the scoping defaults to the same as the\nfirst affix.\n\n**tf/7**, **DPX-2:BEN**, and **(1m-ERG)-{VII:SUB}** are all valid affixual\nadjuncts.\n\n### Writing Modular Adjuncts\n\nA modular adjunct has a `Vn-Cn-Vn-Vn` structure. The final Vn segment may be\nreplaced by scoping information, which is detailed below. The adjunct may also\nhave a `{parent}` or `{concat}` segment, limiting the adjunct's scope to only\nthe following parent or concatenated formative. Any of the Vn or Cn segments may\nbe omitted, as long as at least one is present. Note that the third Vn segment\nof a modular adjunct may not be an aspect.\n\n- **{adj.over}** scope indicates the adjunct has scope over the formative and\n  adjacent adjuncts.\n\n- **{adj.under}** scope indicates the adjunct has scope over the formative but\n  not adjacent adjuncts.\n\n- **{form}** scope indicates the adjunct has scope over the formative as a\n  whole.\n\n- **{mcs}** scope indicates the adjunct has scope over mood and case-scope.\n\n**PRL**, **2:BEN-HYP-{adj.under}**, and **RTR-PRL** are all valid modular\nadjuncts.\n\nNote that many modular adjuncts are also perfectly valid affixual adjunct\nglosses. To see both the affixual adjunct and modular adjunct interpretations of\nyour gloss, set the `all` option on the `/gloss` command to `True`.\n\n## Searching Roots and Affixes\n\n- **?find word**: searches roots and affixes for \"word\"\n- **?find --root word**: searches roots for \"word\"\n- **?find --affix word**: searches affixes for \"word\"\n- **?find ABR**: finds an affix based on abbreviation and outputs its values\n- **?find ABR/2**: finds an affix based on abbreviation and degree\n\nExample 1:\n\n\u003e Command: **?find warm**\n\u003e\n\u003e Output:  \n\u003e S3-fph: warm front  \n\u003e tf/6: (too) warm  \n\u003e S3-fšr: warm climate  \n\u003e S1-ḑh: feeling warm  \n\u003e S1-žxw: warm to the touch  \n\u003e S0-ḑh: sensation of warmth  \n\u003e S0-žxw: warm/hot to the touch  \n\u003e S1-ňçml: swarmandal  \n\u003e tf/5: mild, comfortably cool or warm  \n\u003e S1-rtr: kindness/warm-heartedness/decency  \n\u003e 52 more...\n\nExample 2:\n\n\u003e Command: **?find EFE/7**\n\u003e\n\u003e Output: **m/7**: detrimental to 3rd party\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzsakowitz%2Fumpharesemsa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzsakowitz%2Fumpharesemsa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzsakowitz%2Fumpharesemsa/lists"}