BeipDev / BeipMU

Windows MU* Client
https://beipdev.github.io/BeipMU/
MIT License
27 stars 14 forks source link

MCP dns-org-mud-moo-simpleedit Enhancements #21

Open lisdude opened 6 years ago

lisdude commented 6 years ago
  1. The ability to select which application gets launched for simpleedit. Ideally this would include some replacement character for the file path. So the application you specify for simpleedit would look something like: 'nvim -p --remote %F', where %F gets replaced with the file path.

  2. Monitoring files for changes. Currently, to send text back, you have to exit the application you're editing in (currently Notepad). This makes it very difficult to edit MOO code because, if you make a mistake, you can't easily go back and correct it. You have to restart the entire editing process again each time you make a mistake or want to add more code to something.

What would be amazing is if Beip kept track of which editors you have open and watched for saves. So to send your code back to the server, you just have to save it in your editor. Then Beip will become aware of the change to the file and send its contents. This way you can repeat the edit and save process as many times as you need to without having to invoke the editor again and lose your previous work.

  1. Related to #2, the ability to open as many editors as you want at the same time would be invaluable.

  2. Support for LambdaMOO's not-quite-MCP local editing protocol. Here's how Pavel described it way back in 1993 or whenever:

    
    When the MOO wishes to invoke local editing of some piece of text, it prints
    output like the following to the player's connection:
    
    #$# edit name: <text-name> upload: <upload-command>
    ... zero or more lines of dot-quoted text ...
    .
is a good human-readable name for the text to be edited. Your client's local editor should use it for some name that the user sees attached to the text during editing, such as the name of an editor buffer. is a MOO command that your client should use to send the edited text back to the server. When the user is done editing, the client should send output like the following to the server: ... zero or more lines of dot-quoted text ... . `Dot-quoted' text has had an extra dot (`.') prepended to every line that began with a dot; to unquote it, your client should simply change every initial `..' in the lines to `.'. ```
BeipDev commented 5 years ago
  1. is pretty easy
  2. could be difficult since BeipMU only gets one chance to send the new data on each edit. Unless there's something in the editing protocol I'm missing it's one chance to send.
  3. How does this fail currently?
  4. It looks like MCP, but it's not MCP? Is anyone familiar with it?