{"id":21633848,"url":"https://github.com/rhaberkorn/videoteco-fork","last_synced_at":"2025-07-11T18:02:25.636Z","repository":{"id":1276015,"uuid":"1215317","full_name":"rhaberkorn/videoteco-fork","owner":"rhaberkorn","description":"Video TECO: Robin Haberkorn's fork and MS-DOS port","archived":false,"fork":false,"pushed_at":"2025-05-07T14:32:31.000Z","size":773,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-07T02:42:34.582Z","etag":null,"topics":["editor","ms-dos","teco","termcap","terminfo","vms"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rhaberkorn.png","metadata":{"files":{"readme":"README.OLD","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2011-01-03T00:45:12.000Z","updated_at":"2025-05-12T17:38:03.000Z","dependencies_parsed_at":"2025-04-11T15:38:03.247Z","dependency_job_id":"b2208444-ec79-48b5-9495-4a456ff9415e","html_url":"https://github.com/rhaberkorn/videoteco-fork","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/rhaberkorn/videoteco-fork","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhaberkorn%2Fvideoteco-fork","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhaberkorn%2Fvideoteco-fork/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhaberkorn%2Fvideoteco-fork/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhaberkorn%2Fvideoteco-fork/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rhaberkorn","download_url":"https://codeload.github.com/rhaberkorn/videoteco-fork/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhaberkorn%2Fvideoteco-fork/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264868258,"owners_count":23676091,"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":["editor","ms-dos","teco","termcap","terminfo","vms"],"created_at":"2024-11-25T03:14:20.202Z","updated_at":"2025-07-11T18:02:25.631Z","avatar_url":"https://github.com/rhaberkorn.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Video TECO is licensed under the GNU license. If you find bugs or want to \nsend changes back to me, you can email me: paul@copters.com.\n\nTo build TECO on a Posix system, run ./configure and then \"make\". I've built \nit recently on Linux and Mac OS X and it compiles fine on both of those \noperating systems. On the Mac you need to run it from a terminal or X11 window\ni.e. there is no graphical front end.\n\nIf you want a sample .teco_ini file, I'm putting mine at the end of this file.\nIt goes in your home directory.\n\nPaul Cantrell\nDecember 11, 2007.\n\n\n! This file is used to initialize macros for the TECO editor!\n\n! Q-Register 0\n\n\tThis is used to set initial stuff up. As soon as the teco.ini file\n\tis read in, this q-register is executed.\n\n\tIn this case, we use it to set the alternate rubout character to ^H\n\tand to set nominal paragraph format width for the MF macro to 75\n\n\tI also set backquote to work as ESCape, since the alpha keyboard\n\thas those two keys mapped on top of each other.\n!\n0/6,4EJ4,8EJ1,96EJ75UF/\n\n! Q-Register B\n\n\tThis macro moves back one buffer. It assumes there are no holes\n\tin the buffer space, which is a very bad assumption. However,\n\tperforming a full 0EB on every invokation would be a bit excessive.\n\tA :EB loop really would be good\n!\n\nB/q*u1q*\"lq*-1eb|q*u2\u003cq2-1u2:q2ebu3q3-1\"eoend\u001b'\u003e!end!'/\n\n! Q-Register D\n\n\tThis macro takes the current indenture, and decreases it by 4.\n\tIt assumes that the current indenture is correctly done with\n\ttabs and possibly one group of 4 spaces.\n!\n\nD/1\u003c0L\u003c0UD0A-32\"E%D\u001b'0A-9\"E%D\u001b'QDC-QD;\u003e-A-32\"E-4DOEND\u001b'-A-9\"E-DI    \u001b'\u003e!END!\u001b!dedent by four spaces!/\n\n! Q-Register E\n\n\tThis macro uses the current error line to position to the position\n\tin the source file that the error occurred on.\n!\n\nE/[_[1[2[3s:\u0005d:\u001b;.u1lrq1,.x3q1j-s\u001b0x1c\\u2eq1\u001bjieb\u001beq3\u001b1ij1im1q2mgm3\u001b]3]2]1]_/\n\n! Q-Register F\n\n\tThis macro reformats the paragraph between Q1 and . such that\n\tlines don't exceed the nominal width. Spaces are only inserted\n\tbetween words, never within.\n!\n\nF/.u2\u003cq1,q2-1fs\n\u001b \u001b;\u003eq1j!loop!(q2-.)-QF\"gQFc-wd10ioloop\u001b'q2j\u001b\u001b!Reformat the paragraph bounded by Q1 and Q2 into QF column wide!/\n\n! Q-Register G\n\n\tThis macro positions us to the line number specified as an argument\n\tto the macro.\n!\n\nG/UGJQG-1L\u001b!Macro to go to the specified line number!/\n\n! Q-Register H\n\n\tThis macro loads the symbol following the cursor into the search\n\tq-register.\n!\n\nH/.UHS\u0005m\u0005c\u001bQH,.X_!Macro to load next symbol into search register!/\n\n! Q-Register I\n\n\tThis macro indents the current line by 4. It assumes that the\n\tcurrent indenture is correctly done with tabs and possibly one\n\tgroup of 4 spaces.\n!\n\nI/0L.-Z\"EI    \u001bOEND\u001b'\u003c0UI0A-32\"E%I\u001b'0A-9\"E%I\u001b'QIC-QI;\u003e-A-32\"E-4D9IOEND\u001b'-A-9\"EI    \u001bOEND\u001b'I    \u001b!END!\u001b!Indent by four!/\n\n! Q-Register K\n\n\tThis macro deletes from the current position to the end of the line\n!\n\nK/.UKLRQK,.K\u001b!Delete to end of line!/\n\n! Q-Register L\n\n\tThis macro converts the following word to lower case\n!\n\nL/.UU\u003c0A-32\"E0;'0A-9\"E0;'0A-10\"E0;'C\u003e.UL\u001bQUJQL-QU\u003c0A-64\"G0A-91\"L0A+32IDR''C\u003e\u001b!Convert word to lower case!/\n\n! Q-Register N\n\n\tThis macro moves to the next sequential buffer, and assumes that\n\tthere are no holes.\n!\n\nM/-1ebhkecmake\u001bj/\n\nN/Q*+1EB\u001b!Go to next edit buffer!/\n\n! Q-Register O\n\n\tThis macro inserts a blank line before the one which the cursor\n\tis on, leaving the cursor positioned in the same place on the\n\tcurrent line.\n!\n\nO/.UO0L10IQO+1J\u001b!Insert a blank line before this one!/\n\n! Q-Register P\n\n\tThis macro inserts a line in front of the current line, and\n\trepositions the cursor to the begining of the new line.\n!\n\nP/0L10IR\u001b!Insert a blank line before this one and move to it!/\n\n! Q-Register R\n\n\tThis macro tries to find the begining and end of a C-function,\n\tand load Q9 to point to the begining, Q0 to point to the end,\n\tand print a message in the message window with the definition\n\tin it (such as routine(arg1, arg2, arg3))\n!\n\nR/[_[1.U1-S\n{\u001b-S)\u001bC0X10L.U9S\n}\u001b.U0Q1JQ*U1EQ1\u001b1IJ1IQ1EBM1]1]_\u001b!Find the bounds of a C function and set them in Q9,Q0 and print the first line in the message line!/\n\n! Q-Register S\n\n\tThis macro copies the search q-register into a temporary\n\tq-register where it can be edited. A second invokation moves\n\tus back to the original source buffer.\n!\n\nS/q*\"lq_eb[9]_]9|[9q*u_[_]9eq9\u001bj'!Toggle in and out of the search buffer!/\n\n! Q-Register T\n\n\tThis macro prints a short table of contents in the message window.\n\tIt's mostly useful when only a few buffers have been loaded.\n!\n\nT#[_q*u10ebhx5eq5\u001bjsbuffer\u0005s-\u001b0l.,zk-k\u003c-sbuffer\u0005s\u0005d\u001b;w0ks\u0005d\u001bi:\u001b.u2s\u003e\u0005s\u001bq2,.kw-wfk\n\u001b.u20l:q2,.s/\u001b\"sc.u20ls:\u001bq2,.k'0l\u003ej\u003cfs\n\u001b \u001b;\u003ezj1ij1iq1ebm5\u001b]_!Print a short list of buffers in the message line!#\n\n! Q-Register U\n\n\tThis macro converts the word following the cursor to upper case\n!\n\nU/.UU\u003c0A-32\"E0;'0A-9\"E0;'0A-10\"E0;'C\u003e.UL\u001bQUJQL-QU\u003c0A-96\"G0A-123\"L0A-32IDR''C\u003e\u001b!Convert next word to upper case!/\n\n! Q-Register V\n\n\tThis macro sets the current indenture to that of the previous line.\n!\n\nV/[_[1.U1-S\n\u0005S\u001bW0X1Q1JG1]1]_/\n\n! Q-Register W\n\n\tThis macro writes out all the modified buffers, stopping if there\n\tis a problem with one.\n!\n\nW/[_[0Q*UW0EB\u003cS(modified)\u001b;0LSBUFFER\u0005S\u001b0A-45\"E0;'2W.U0S\u0005S\u001b-S\u001bQ0,.X00Lsbuffer\u0005s\u001b\\U0EBTECO-0\u001bZJI ...\u0001\u001b0LI\u0001Writing \u001bQ0EBM0EW\u001b0EB\u003eQWEB]0]_\u0001\u0001\u001b!Write out modfied edit buffers!/\n\n! Q-Register Y\n\n\tThis macro reads the following string as a filename, and then\n\tloads that file into the editor.\n!\n\n! Q-Register X\n\n!\n\nX/u1q1ebq1-1\u003cef\u003e\u001b\u001b/\n\nY#.U1[_s\u0005m\u0005[\u0005c,/,.,_]\u001b]_Q1,.X1EQ1\u001bJIEB\u001bM1#\n\n! Q-Register Z\n\n\tThis macro reads in MAKE.LOG and tries to position the cursor\n\tto the first occurance of a compiler error message.\n!\n\nZ/[_-1EBHKERMAKE.LOG\u001bJ:S\n\"\u001b]_\u001b!Read MAKE.LOG into buffer -1!/\n\n! Q-Register 4\n\tThis macro loads all the files  at the current position into the\n\teditor.\n!\n4/[4[5[_q*u4\u003cs\n\u001b;bx5eq5\u001by27ijieb\u001bm5q4eblet\u003e]_]5]4\u001b\u001b/\n\n7#[_s\n\u0005\u0005begin \u0005d\u001b0l.u1s\n\u000eM\u001brq1,.:x1.u1]_#\n\n8#[_\u003cs\nm\u001bl0a-77\"e0;|-1;'\u003e-s\n\u000eM\u001b2l.u1s\n\u000eM\u001brq1,.:x1.u1\u001b]_#\n\n9/.u9erfiles.uu\u001bq9jmmq9,.kmwecdecode\u001b\u001b/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhaberkorn%2Fvideoteco-fork","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frhaberkorn%2Fvideoteco-fork","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhaberkorn%2Fvideoteco-fork/lists"}