{"id":17579213,"url":"https://github.com/miguelvis/te","last_synced_at":"2025-04-16T05:49:09.417Z","repository":{"id":61927214,"uuid":"245012466","full_name":"MiguelVis/te","owner":"MiguelVis","description":"Text editor for the CP/M operating system and related computers: Amstrad PCW, CPC, Kaypro, Spectrum...","archived":false,"fork":false,"pushed_at":"2023-06-21T19:39:16.000Z","size":744,"stargazers_count":89,"open_issues_count":4,"forks_count":10,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-29T05:04:07.947Z","etag":null,"topics":["amstrad-cpc","amstrad-pcw","cp-m","cpm","kaypro","mescc","spectrum","text-editor","texteditor","vt100","vt52","wordstar","z80"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MiguelVis.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"copying.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-04T21:57:50.000Z","updated_at":"2025-02-25T10:59:28.000Z","dependencies_parsed_at":"2024-10-22T22:04:43.562Z","dependency_job_id":null,"html_url":"https://github.com/MiguelVis/te","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiguelVis%2Fte","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiguelVis%2Fte/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiguelVis%2Fte/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MiguelVis%2Fte/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MiguelVis","download_url":"https://codeload.github.com/MiguelVis/te/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249204702,"owners_count":21229787,"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":["amstrad-cpc","amstrad-pcw","cp-m","cpm","kaypro","mescc","spectrum","text-editor","texteditor","vt100","vt52","wordstar","z80"],"created_at":"2024-10-22T00:44:06.230Z","updated_at":"2025-04-16T05:49:09.388Z","avatar_url":"https://github.com/MiguelVis.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"te\n==\n\nv1.73 / 20 Nov 2021 for CP/M\n\n(c) 2015-2021 Miguel Garcia / FloppySoftware\n\n[http://www.floppysoftware.es/](http://www.floppysoftware.es)\n\nIntroduction\n------------\n\nThe `te` text editor is small, humble and useful.\n\nIt edits the full text in memory, so your system must leave enough\nfree TPA for the text, after `te` is loaded and running.\n\nIt's screen oriented, and can be easily adapted to a lot of computers.\n\nIt's written in the C language, and there are ports for various\noperating systems: CP/M, DOS, Windows and GNU/Linux.\n\nI use [MESCC](https://github.com/MiguelVis/mescc) to compile it for CP/M\nand the Z80 cpu.\n\n![te image](http://www.floppysoftware.es/images/cpm-te.jpg \"te image\")\n\nCommand line\n------------\n\nIt's simple (for the PCW adaptation; see below for the name of the rest\nof available adaptations):\n\n```\nte_pcw [filename]\n```\n\nExamples:\n\n```\nte_pcw           - To start an empty document.\nte_pcw todo.txt - To edit the document 'todo.txt'.\n```\n\nYou should rename the adaptation of your choice to simply `te`, because\nsome CCP implementations (including the standard from CP/M), do not like\nthe character `_` in filenames.\n\n\nThe screen layout\n-----------------\n\nDepending of the `te` adaptation, you could see a layout similar to:\n\n```\nte: TODO.TXT                   --- | Lin:0012/0029/0512 Col:08/76 Len:07\n    !.......!.......!.......!.......!.......!.......!.......!.......!...\n  1|This is my TO-DO list for today:\n  2|  - Wake up.\n  3|  - Make coffee.\n  4|  - Have a shower.\n  5|  - Get dressed.\n  6|  - Go work and:\n  7|    1. Revise email.\n  8|    2. Call Peter.\n  9|    3. Meet the boss.\n 10|    4. Plan tomorrow.\n 11|  - Have lunch with Sarah.\n 12|  - ...\n 13|\n 14|\n 15|\n 16|\n 17|\n 18|\n 19|\n 20|\n 21|\n------------------------------------------------------------------------\nESC = menu\n```\n\nOn the first screen line, you will see something like:\n\n```\nte: TODO.TXT - The file name of the document your are editing.\n```\n\nAnd something like:\n\n```\n--- | Lin:0015/0042/0512 Col:32/90 Len:36\n```\n\nThe very first field, can have one of the following values:\n\n```\n--- Means the clipboard is empty.\nCLP Means the clipboard has data.\n```\n\nThe numbers following 'Lin' are:\n\n```\n0015 - The line number you are editing right now.\n0042 - The current total number of lines.\n0512 - The maximum number of lines.\n```\n\nThe numbers following 'Col' are:\n\n```\n32 - The column number on which you are.\n90 - The number of screen columns.\n```\n\nAnd, finally, the number following 'Len' is:\n\n```\n36 - The length of the current line.\n```\n\nOn the last screen line, you will see program messages and questions.\n\n\nThe options menu\n----------------\n\nYou can enter to the menu, by pressing the `ESCAPE` key, as shown\nin the messages line:\n\n```\nESC = menu\n```\n\nNote that the exact name of your `ESCAPE` key may differ, depending of\nthe program configuration.\n\nThe options are:\n\n```\nNew       - To start a new document\nOpen      - To open a document\nSave      - To save the current document\nsave As   - To save the current document under another filename.\nInsert    - To insert a text file into the current position.\nHelp      - To show the help screen.\naBout te  - To show some te information.\neXit te   - To quit the program.\n```\n\nYou can select an option by pressing the character in uppercase.\n\nTo leave the menu, you must press `ESCAPE`.\n\nIf you select one of the options `New`, `Open` or `eXit`, and there are\nany changes that are not saved yet, te will ask you for confirmation\nbefore proceed.\n\nIf you start a new document, the `Save` option will redirect to you to\nthe `save As` option.\n\nThe help screen will show the keyboard configuration (or key bindings\nif you prefer), which depends of the program configuration.\n\nFor example, in the case of TE_WS100 (25x80 VT100 and WordStar keys) you\ncould see something like this:\n\n```\nUp         ^E   | Down       ^X   | Indent     ^I\nLeft       ^S   | Right      ^D   | NewLine    ^M\nBegin      ^QS  | End        ^QD  | Escape     ^[\nTop        ^QR  | Bottom     ^QC  | Macro      ^QM\nPgUp       ^C   | PgDown     ^R   |\nWordLeft   ^A   | WordRight  ^F   |\nDelLeft    ^H   | DelRight   ^G   |\nBlockStart ^KB  | BlockEnd   ^KK  | BlockUnset ^KU\nCut        ^Y   | Copy       ^O   | Paste      ^W\nDelete     ^KY  | ClearClip  ^T   |\nFind       ^QF  | FindNext   ^L   | GoLine     ^J\n```\n\n\nThe clipboard\n-------------\n\nThe clipboard contents is not cleared after file operations (new, open,\nsave...). That makes possible to share text between files.\n\nBut it's a good practice to clear the clipboard when you don't need it\nanymore, to free some memory.\n\n\nKey bindings\n------------\n\nAs you can see in the help screen of example, there are some key\nbindings to perform actions when you are editing the file.\n\nThe exact keys you must press to do an action, depend on the configuration\nyou are running, but the meanings are the same:\n- Up, Down, Left, Right: to move the cursor one character at a time.\n- Begin, End: to move the cursor to the begin or the end of the\n  current line.\n- Top, Bottom: to move the cursor to the begin or the end of the\n  current file.\n- PgUp, PgDown: to move the cursor to the previous or next page.\n- WordLeft, WordRight: to move the cursor to the previous or next word.\n- DelLeft, DelRight: to delete the previous or next character.\n- Find, FindNext: to find a string or repeat the search.\n- GoLine: to go to a line number.\n- BlockStart: to mark the start of a block of lines.\n- BlockEnd: to mark the end of a block of lines.\n- BlockUnset: to unselect a block of lines.\n- Cut, Copy, Paste, Delete: to cut, copy, paste or delete a line\n  or block of lines.\n- ClearClip: to clear the clipboard data.\n- Macro: to run a macro.\n- Indent: to insert spaces as indentation. Same as Tab.\n- NewLine: to insert a break or empty line. Same as Cr, Enter, Intro\n  or Return.\n- Escape: to exit the menu or cancel an action. Same as Esc.\n\nTake into account that some actions could not be available in all te\nadaptations to save memory space. These actions are: WordLeft, WordRight,\nFind, FindNext, GoLine, BlockStart, BlockEnd, BlockUnset and Macro.\n\nIf you miss one or more of the mentioned actions, you can edit the exact\nfile of the te adaptation and recompile it to include them.\n\n\nAuto-completion\n---------------\n\nIf the text editor is configured with the C language type auto-completion\noption enabled, the input of some characters will cause the automatic input\nof some other:\n\n```\n[  --\u003e  ]\n{  --\u003e  }\n(  --\u003e  )\n\"  --\u003e  \"\n'  --\u003e  '\n/* --\u003e  */\n```\n\n\nAuto-indentation\n----------------\n\nThe text editor supports automatic indentation of lines, according\nto the indentation of the previous one.\n\nThe indentation is done by inserting the same number of spaces of\nthe previous line - ie:\n\n```\n  This paragraph is\n  indented, according to\n  the first line.\n    More indentation\n    here.\n```\n\n\nLists\n-----\n\nThe text editor supports automatic lists, when the first non blank\ncharacter of the previous line is one of the \"bullets\" according\nto the configuration.\n\nAs automatic indentation is supported, automatic multi level lists\nare possible - ie:\n\n```\n- Item #1\n- Item #2\n  * Item #2a\n  * Item #2b\n    \u003e Item #2b-1\n\t\u003e Item #2b-2\n- Item #3\n```\n\n\nMacros\n------\n\nMacros are a powerful way to perform repetitive tasks at editing level.\n\nFor example, you could create a macro with your signature to include it\nin every letter you write.\n\nOr, being a programmer, you could create a gdoc block macro to document\nyour own C functions.\n\nMacros are not affected by default by auto-completion, auto-indentation\nor lists.\n\nEach time you want to run a macro, just press the corresponding key\nfor the Macro action, enter the filename you choose when you saved it\nto disk, and press the key for the NewLine action. That's all.\n\nThe default filetype for macro files is \".M\".\n\nThe filetype is only required when it's different. So, if you have\nsaved a macro file as `JOIN.M`, you could just enter `JOIN`:\n\n```\nJOIN.M     you could enter JOIN.M or just JOIN\nJOIN.MAC   you must enter JOIN.MAC\n```\n\nThere are some special symbols you can use in your macros:\n\n```\n{# comment}                    comments, they are ignored\n{Up} {Down} {Left} {Right}     move the cursor one character at a time\n{Begin} {End}                  go to the begin / end of the current line\n{Top} {Bottom}                 go to the begin / end of the current file\n{NewLine}                      insert a break or empty line\n{Indent}                       insert spaces as indentation\n{DelLeft} {DelRight}           delete the character at the left / right\n{Cut} {Copy} {Delete}          operation over a line or block of lines\n{Paste}                        paste the clipboard contents\n{ClearClip}                    clear the clipboard data\n{BlockStart} {BlockEnd}        mark the start / end of a block of lines\n{FileName}                     insert the current filename\n{AutoIndent}                   enable / disable automatic indentation\n{AutoList}                     enable / disable automatic list\n```\n\nThe symbol names are case insensitive - ie: `{ClearClip}` and `{clearclip}`\nare the same.\n\nAdditionally, you can repeat a symbol as in:\n\n```\n{up:12}\n```\n\nAuto indentation or auto list can be enabled by just using the symbol\nname or setting a repeat number of `1`:\n\n```\n{AutoList}\n{AutoList:1}\n```\n\nThey can be disabled setting a repeat number of `0`:\n\n```\n{AutoIndent:0}\n```\n\nTake into account that line endings in the macro are not translated\nto NewLine actions. Use `{NewLine}` for that.\n\nIf you need to insert the `{` or `}` characters in the text of the\nmacro, just write them as `\\{` and `\\}`.\n\nFor example, a macro to insert a banner at the top of the document,\ncould be written as:\n\n```\n{# this is a macro example}\n{top}{newline}{up}\n=============={newline}\nFloppySoftware{newline}\n=============={newline}\n```\n\nSome macro files are included as examples:\n\n```\nHEADER.M     Above example.\nJOINUP.M     Join current line with the previous one.\nJOINDOWN.M   Join current line with the next one.\n```\n\nThere are some macros for the C language:\n\n```\nCFILE.M      File documentation block for GDOC.\nCFUN.M       Function documentation block for GDOC.\nCDO.M        Snippet for \"do / while\".\nCFOR.M       Snippet for \"for\".\nCIF.M        Snippet for \"if\".\nCIFELSE.M    Snippet for \"if / else\".\nCSWITCH.M    Snippet for \"switch\".\nCWHILE.M     Snippet for \"while\".\n```\n\nFile backup\n-----------\n\nEach time a file is saved, te does a backup of the previous file\ncontents if it exists.\n\nIt is renamed as `te.bkp`.\n\n\nAdaptations\n-----------\n\nThe program adaptation is done by editing a small source code file.\n\nIn this file, you must specify some configuration values according\nto your preferences and / or system, and complete a few C\nlanguage functions to clear the screen, etc.\n\nAs there are some adaptations already done, it's possible that your\nmachine is already included between them.\n\nIf not, don't worry, you can start from a similar adaptation.\n\nSee the source code files for more information.\n\nCurrent CP/M adaptations are:\n- `te_pcw`  : Amstrad PCW and CP/M Plus (31x90 VT52 like terminal).\n- `te_cpc3` : Amstrad CPC and CP/M Plus (24x80 VT52 like terminal).\n- `te_spec` : Spectrum +3 and CP/M Plus (23x51 VT52 like terminal).\n- `te_mur`  : K. Murakami's CP/M emulator (25x80 VT100/Ansi).\n- `te_tak`  : Takeda Toshiya's CP/M emulator (25x80 VT100/Ansi).\n- `te_ws100`: Generic 25x80 VT100 and WordStar keys.\n- `te_kp`   : Kaypro II, 4 and 10 (24x80 ADM-3A like terminal),\n              contributed by Stephen S. Mitchell (thanks!).\n- `te_px8`  : Epson PX-8 \"Geneva\".\n- `te_ansi` : Generic 25x80 ANSI terminal, including (translated) keyboard\n              escape sequences.\n- `te_apple`: Apple II with SoftCard, a\t24x80 SOROC IQ 120 / 140 terminal\n              and WordStar keys.\n- `te_c128` : Commodore 128 and CP/M Plus (25x80 ADM-31/3A like terminal).\n- `te_sam`  : SAM Coupe and Pro-Dos (24x80 VT52 like terminal).\n\nAdaptations for other OS are (they are not distributed yet):\n- Windows 32 bit (25x80), compiled with Pelles C\n  and its 'conio.h' library.\n- DOS (25x80), compiled with Turbo C, and\n  its 'conio.h' library.\n- GNU/Linux (24x80), compiled with GCC and ncurses.\n\n\nConfiguration\n-------------\n\nThe `TECF` configuration tool is supplied in order to adjust\nsome `TE` generic options to your taste, if needed (its use\nis totally optional):\n\n```\nTECF v1.21 / 13 Nov 2021 - (c) 2021 Miguel Garcia / FloppySoftware\n\nTE configuration tool.\n\nUsage:\n        tecf action arguments...\n\nActions:\n        patch COM file from CF file:\n                patch [[filename[.COM]] [filename[.CF]]]\n        dump CF values from COM file:\n                dump [filename[.COM]] [\u003e filename.CF]\n        print key codes:\n                key\n```\n\nYou can configure TE by using the `patch` action - ie:\n\n```\ntecf patch te.com myconf.cf\n```\n\nThe standard file types (`COM`, `CF`) and filename (`TE`) are optionals,\nso you could patch `te.com` with `te.cf` just with the command:\n\n```\ntecf patch\n```\n\nTake into account that the disk has to be enough space for a temporary\nfile with the exact size as TE.\n\nYou can see the current configuration of TE by using\nthe `dump` action - ie:\n\n```\ntecf dump\n```\n\nTo save the configuration in a file just add a redirection (a `tecf`\nfeature thanks to `MESCC`):\n\n```\ntecf dump \u003e myconf.cf\n```\n\nThe standard file type (`COM`) and filename (`TE`) are optionals.\n\nIf you don't know the character/s assigned to a key, the `key` action\nwill help you:\n\n```\ntecf key\n```\n\nFor example:\n\n```\nTECF v1.21 / 13 Nov 2021 - (c) 2021 Miguel Garcia / FloppySoftware\n\nTE configuration tool.\n\nPress any key to get its code/s (SPACE = exit):\n\nHex Dec Ctl Chr\n--- --- --- ---\n61  97      a\n04  4   ^D\n0D  13  ^M\n08  8   ^H\nE0  224\n53  83      S\n0D  13  ^M\n```\n\nA `CF` configuration file is just a text file with some key / value\npairs, in a very similar way of `INI` and `conf` files in other\nsystems.\n\nJust a few rules:\n- comments start with the `#` character.\n- empty lines are ignored.\n- strings can be surrounded by the `\"` character.\n\nSee my `CF` and `CF READER` projects for more information.\n\nEach adaptation is supplied and patched with an initial configuration\nfile that includes key bindings, etc.\n\nYou should create your own configuration files if needed.\n\nThe current supported options are the following (see `TE.CF`):\n\n```\n# ========================================\n# TE configuration file\n# ----------------------------------------\n# IMPORTANT! This file is for TECF, the TE\n#            configuration tool.\n# ========================================\n\n# Configuration name\n#te.confName = \"My own configuration\"\n\n# Screen height: 8..255 or auto for CP/M 3\n#screen.rows = 25\n\n# Screen width: 64..255 or auto for CP/M 3\n#screen.columns = 80\n\n# Character for normal position in ruler\n#screen.rulerChar = \".\"\n\n# Character for tab stop position in ruler\n#screen.rulerTabChar = \"!\"\n\n# Character for vertical draws -- ie: help columns\n#screen.vertChar = \"|\"\n\n# Character for horizontal draws -- ie: status line\n#screen.horizChar = \"-\"\n\n# Character between line numbers and text\nscreen.lineNumbersChar = \" \"\n\n# How many lines can edit: 256..4096 -- each\n# empty line occupies 2 bytes of RAM\neditor.maxLines = 512\n\n# How many columns (spaces) are a TAB: 1..16\neditor.tabSize = 4\n\n# Show line numbers: true / false\neditor.lineNumbers = true\n\n# C language type completion: [], {}, (), \"\", '', /**/\neditor.c_language = true\n\n# Automatically indent a new line as the previous one\neditor.autoIndent = true\n\n# Automatically start a list when the first non blank\n# character in a line is one of \"listBullets\" -- max.\n# 7 characters in long\neditor.autoList = true\neditor.listBullets = \"-*\u003e\"\n\n# Some keynames used in the UI\n#keyname.newLine = \"ENTER\"\n#keyname.escape = \"ESC\"\n\n# Key bindings, legal definitions are:\n# ^A   -\u003e Ctrl-A         -\u003e one control char.\n# ^A^X -\u003e Ctrl-A, Ctrl-X -\u003e two control chars.\n# ^AX  -\u003e Ctrl-A, X      -\u003e one control char., one char.\n#\n# Legal control characters are:\n# ^A..^Z ^[ ^\\ ^] ^^ ^_ -\u003e 1..31\n# ^?                    -\u003e 127\n#key.up = \"\"\n#key.down = \"\"\n#key.left = \"\"\n#key.right = \"\"\n#key.begin = \"\"\n#key.end = \"\"\n#key.top = \"\"\n#key.bottom = \"\"\n#key.pgUp = \"\"\n#key.pgDown = \"\"\n#key.indent = \"\"\n#key.newLine = \"\"\n#key.escape = \"\"\n#key.delRight = \"\"\n#key.delLeft = \"\"\n#key.cut = \"\"\n#key.copy = \"\"\n#key.paste = \"\"\n#key.delete = \"\"\n#key.clearClip = \"\"\n#key.find = \"\"\n#key.findNext = \"\"\n#key.goLine = \"\"\n#key.wordLeft = \"\"\n#key.wordRight = \"\"\n#key.blockStart = \"\"\n#key.blockEnd = \"\"\n#key.blockUnset = \"\"\n#key.macro = \"\"\n```\n\n\nText tool\n---------\n\nThe text editor is supplied with `TETX` a text tool in order to help you to process\ntext files.\n\n```\nTETX v1.01 / 20 Nov 2021 - (c) 2021 Miguel Garcia / FloppySoftware\n\nTE text tool.\n\nUsage:\n        tetx [-options...] [fname...] [\u003e fname]\n\nOptions:\n        -e     Skip empty lines.\n        -l     Convert to lowercase.\n        -n     Print line numbers.\n        -t[N]  Convert tab to spaces (default = 4).\n        -u     Convert to uppercase.\n        -wN    Max. width of lines (32..255).\n        -s     Trim spaces on the right.\n\nExamples:\n        tetx -ne mydoc.txt\n        tetx -t4u -n letter1.txt letter2.txt \u003e letters.txt\n```\n\nThe `-n` option will print the line number before each line:\n\n```\n   25 This is a text line,\n   26 and this is another one.\n```\n\nThe `-t` option will convert tab characters to spaces,\nthere is a tab each N columns:\n\n```\n+   +   +   +   +   +   +   +\nThis line does not have a tab.\n\tBut this one has one.\n\t\tAnd this one has two.\nA tab\there.\n```\n\nThe `-w` option will split lines longer than N characters:\n\n```\nThis is a line longer than 32 characters.\n```\n\nThe command `tetx -w32` will process the line as:\n\n```\nThis is a line longer than 32 ch\naracters.\n```\n\nYou can combine options as `-w32nu` or `-w32n -u`:\n\n```\n    1 THIS IS A TEXT WITH LINE N\n    2 UMBERS. IT HAS A MAXIMUM W\n    3 IDTH OF 32 CHARACTERS AND\n    4 IT HAS BEEN CONVERTED TO U\n    5 PPERCASE.\n```\n\nThe output is written to `stdout` (the console). So, you\nmust use output redirection to a file, in order to save\nthe result:\n\n```\ntetx -w32nu draft.txt \u003e final.txt\n```\n\nYou can omit the input filename, in order to read the input\nfrom `stdin` (the console):\n\n```\ntetx -w32nu \u003e letter.txt\n```\n\nOr you can combine two or more files (`-` means `stdin`):\n\n```\ntetx -w32nu header.txt body.txt footer.txt \u003e letter.txt\ntetx -w32nu header.txt - footer.txt \u003e letter.txt\n```\n\n\nLicense\n-------\n\nThis program is freeware, and it's licensed under the GNU GPL license.\n\nSee the file `copying.txt` for more details.\n\n\nAbout this file\n---------------\n\nOf course, this text file has been created and edited with te.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiguelvis%2Fte","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmiguelvis%2Fte","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmiguelvis%2Fte/lists"}