|  | Ein- und Ausgabe über Pipelines, Grundlagen |  | 
        Konfiguration und Kompilierung eines sehr einfachen Plugins, minimal, findet sich in Beispiel eines Plugin in
        
               
                    
                
            
                   
              
int
main () {
  display-startup-banner
  while (true) {
    read-input
    display-output
  }
  return 0;
}
                    
Gemäß Vorgabe sendet TeXmacs eine Zeichenkette, die mit '\n' endet an die Anwendung. Dem entsprechend besteht der Code für read-input aus folgenden Zeilen
               
                    
                
            
                   
              
char buffer[100];
cin.getline (buffer, 100, '\n');
                    
Die Ausgabe ist etwas komplizierter, denn TeXmacs muss eindeutig feststellen können, dass die Ausgabe beendet ist. Das wird erreicht, in dem jedwede Ausgabe, in Blockform eingekapselt wird. Das ist im vorliegenden Fall ein Begrüßungstext, banner, und die interaktive Reaktion der Anwendung. Die Kapselung sieht folgendermaßen aus:
             
                  DATA_BEGINformat:messageDATA_END
                
              
          
                 
            
Hier stehen DATA_BEGIN und DATA_END für spezielle Steuer-Buchstaben:
               
                    
                
            
                   
              
#define DATA_BEGIN   ((char) 2)
#define DATA_END     ((char) 5)
#define DATA_ESCAPE  ((char) 27)
                    
Der Steuer-Buchstabe DATA_ESCAPE dient zur Maskierung DATA_BEGIN und DATA_END innerhalb des kommunizierten Textes
             
                   
                    
              
          
                 
            
                      
                  
                         DATA_ESCAPE 
                        ⟶ 
                        DATA_BEGIN 
                      
                         DATA_ESCAPE 
                        ⟶ 
                        DATA_END 
                      
                         
                    DATA_ESCAPE 
                        ⟶ 
                        DATA_ESCAPE 
                      
format spezifiziert das Format für den zu übertragenden Text, message. In unserem Beispiel ist der Code, display-startup-banner, Übertragung und Darstellung der Begrüßungs-Botschaft in TeXmacs folgender
               
                    
                
            
                   
              
cout << DATA_BEGIN << "verbatim:";
cout << "Hi there!";
cout << DATA_END;
fflush (stdout);
                    
Entsprechend wurde display-output so programmiert
               
                    
                
            
                   
              
cout << DATA_BEGIN << "verbatim:";
cout << "You typed " << buffer;
cout << DATA_END;
fflush (stdout);
                    
        
          
                 
                       
                          (plugin-configure myapp
                         
                          (:require (url-exists-in-path?
                          "myapp"))
                         
                          (:launch "myapp
                          –texmacs")
                         
                          (:session "Myapp"))
                        
                  
              
                     
                
Wenn der Quellcode der Anwendung myapp nicht verändert werden kann oder darf, dann bleibt immer noch die Möglichkeit, ein Ein-/Ausgabe-Filter tm_myapp zu schreiben, der die Umsetzung vornimmt. Unter den Standard-Plugins im Verzeichnis
    plugins
        finden Sie mehrere Beispiele.