natgillin/translations-raw huggingface dataset:
Developing an indenter requires to reload the scripts to see whether the changes behave appropriately. Instead of restarting the application, simply switch to the command line and invoke the command reload-scripts.
Att utveckla en indenterare kräver att skript läses in igen för att se om ändringar beter sig lämpligt. Istället för att starta om programmet, byt helt enkelt till kommandoraden och utför kommandot reload- scripts.
If you develop useful scripts please consider contributing to the & kate; Project by contacting the mailing list.
Om du utvecklar användbara skript, fundera på att bidra med det till & kate; - projektet genom att kontakta e- postlistan.
Command Line Scripts
Kommandoradskript
As it is hard to satisfy everyone's needs, & kate; supports little helper tools for quick text manipulation through the built-in command line. For instance, the command sort is implemented as script. This section explains how to create *. js files to extend & kate; with arbitrary helper scripts.
Eftersom det är svårt att uppfylla allas behov, stöder & kate; små hjälpverktyg för snabb textbehandling via den inbyggda kommandoraden. Exempelvis är kommandot sort implementerat som ett skript. Det här avsnittet förklarar hur man skapar *. js - filer för att utöka & kate; med godtyckliga hjälpskript.
Command line scripts are located in the same folder as indentation scripts. So as first step, create a new *. js file called myutils. js in the local home folder $KDEHOME/ share/ apps/ katepart/ script.
Kommandoradskript är placerade i samma katalog som indenteringsskript. Som första steg, skapa alltså en ny *. js - fil som heter mina_ verktyg. js i den lokala hemkatalogen $KDEHOME/ share/ apps/ katepart/ script.
The Command Line Script Header
Kommandoradskriptets huvud
The header of each command line script is embedded in a comment and is of the following form / * kate-script * author: Example Name & lt; example. name@some. address. orggt; * license: BSD * revision: 1 * kate-version: 3.4 * type: commands * functions: sort, format-paragraph * * A line without colon ':' stops header parsing. That is, you can add optional * text here such as a detailed license. */ Each entry is explained in detail now:
Huvudet för varje kommandoradsskript är inbäddat i en kommentar och har följande form / * kate- script * author: Exempel Namn & lt; exempel. namn@ någon. adress. orggt; * license: BSD * revision: 1 * kate- version: 3. 4 * type: commands * functions: sort, format- paragraph * * En rad utan kolon ':' stoppar tolkning av huvudet. Alltså kan du lägga till valfri * text här som en detaljerad licens. * / Varje post förklaras nu i detalj:
type [required]: The type must be commands, otherwise & kate; skips this script.
type [krävs]: Typen måste vara commands, annars hoppar & kate; över skriptet.
functions [required]: Comma separated list of commands in the script.
functions [krävs]: Lista åtskild med kommatecken av kommandon i skriptet.
& kate; reads all pairs of the form key: value until it cannot find a colon anymore. This implies that the header can contain arbitrary text such as a license as shown in the example. The value of the key functions is a comma separated list of command line commands. This means a single script contains an arbitrary amount of command line commands. Each function is available through & kate; 's built-in command line.
& kate; läsera alla par av formen nyckel: värde till ett kolon inte längre hittas. Det betyder att huvudet kan innehålla valfri text som en licens, vilket visas i exemplet. Värdet på nyckeln functions är en lista åtskild med kommatecken av kommandon för kommandoraden. Varje funktion är tillgänglig via & kate; s inbyggda kommandorad.
The Script Source Code
Skriptets källkod
All functions specified in the header have to be implemented in the script. For instance, the script file from the example above needs to implement the two functions sort and format-paragraph. All functions have the following syntax:
Alla funktioner specificerade i huvudet måste implementeras i skriptet. Exempelvis måste skriptfilen i exemplet ovan implementera de två funktionerna sort och format- paragraph. Alla funktioner har följande syntax:
function & lt; namegt; (arg1, arg2,...) {/ /... implementation, see also: Scripting API}
function & lt; namngt; (arg1, arg2,...) {//... implementering, se också: Programmeringsgränssnittet för skripthantering}
Arguments in the command line are passed to the function as arg1, arg2, etc. In order to provide documentation for each command, simply implement the 'help' function as follows: function help(cmd) {if (cmd == "sort") {return "Sort the selected text.";} else if (cmd == "...") {/ /...}} Executing help sort in the command line then calls this help function with the argument cmd set to the given command, i. e. cmd == "sort". & kate; then presents the returned text as documentation to the user.
Argument på kommandoraden skickas till funktionen som arg1, arg2, etc. För att ge dokumentation av varje kommando, implementera helt enkelt funktionen 'help' på följande sätt: function help( cmd) {if (cmd == "sort") {return "Sortera markerad text.";} else if (cmd == "...") {//...}} Att utföra help sort på kommandoraden anropar hjälpfunktionen med argumentet cmd inställd till det givna kommandot, dvs. cmd == "sort". & kate; visar därefter den returnerade texten som dokumentation för användaren.
Developing a command line script requires to reload the scripts to see whether the changes behave appropriately. Instead of restarting the application, simply switch to the command line and invoke the command reload-scripts.
Att utveckla ett kommandoradskript kräver att skript läses in igen för att se om ändringar beter sig lämpligt. Istället för att starta om programmet, byt helt enkelt till kommandoraden och utför kommandot reload- scripts.
Scripting API
Programmeringsgränssnittet för skripthantering
The scripting API presented here is available in all scripts, i. e. indentation scripts and command line commands. Before the contents of a script is loaded, & kate; first adds several prototypes and functions to the scripting context. This convenience API contains prototypes like text cursors and text ranges and is located in the folder $KDEDIR/ share/ apps/ katepart/ api. There, the file names of each JavaScript file conforms with the following naming scheme: & lt; numbergt; _lt; namegt;. js The number has two digits and the name is an arbitrary name such as myutils. Through the number & kate; controls the execution order of the API. I. e., the file called 05_cursor. js is called before the file 10_range. js. (This is similar to the start order of the runlevel/ init system in Linux).
Programmeringsgränssnittet för skripthantering som presenteras här är tillgängligt i alla skript, dvs. indenteringsskript och kommandon för kommandoraden. Innan innehållet i ett skript läses in, lägger & kate; först till flera prototyper och funktioner till skriptets omgivning. Detta bekvämlighetsprogrammeringsgränssnitt innehåller prototyper som textmarkörer och textintervall och är placerat i katalogen $KDEDIR/ share/ apps/ katepart/ api. Där följer filnamnen på varje Javascript- fil följande namngivningsmodell: & lt; nummergt; _ lt; namngt;. js Numret har två siffror och namnet är ett godtyckligt namn som mina_ verktyg. & kate; styr ordningen som programmeringsgränssnittet körs via numret, dvs. filen som heter 05_ cursor. js anropas innan filen 10_ range. js. (Det liknar startordningen i systemet med runlevel/ init i Linux.)
To extend the standard scripting API with own functions and prototypes simply create a new file in the KDE's local configuration folder $KDEHOME/ share/ apps/ katepart/ api and make sure it has a greater number (execution order) than the other *. js files in the global folder $KDEDIR/ share/ apps/ katepart/ api. & kate; automatically searches in both folders for *. js files and executes them in the correct order.
För att utöka det vanliga skriptprogrammeringsgränssnittet med egna funktioner och prototyper, skapa helt enkelt en ny fil i KDE: s lokala inställningskatalog $KDEHOME/ share/ apps/ katepart/ api och försäkra dig om att det har ett större nummer (senare körningsordning) än de övriga *. js - filerna i den globala katalogen $KDEDIR/ share/ apps/ katepart/ api. & kate; söker automatiskt i båda katalogerna efter *. js - filer och kör dem i rätt ordning.
To extend existing prototypes like Cursor or Range, the recommended way is to not modify the global *. js files. Instead, create a *. js file in the local folder that is being executed later than the 05_cursor. js and then change the Cursor prototype in JavaScript.
För att utöka befintliga prototyper som Cursor eller Range, är det rekommenderade sättet inte att ändra den globala *. js - filen. Skapa istället en *. js - fil i den lokala katalogen som körs istället för 05_ cursor. js och ändra därefter prototypen för Cursor i Javascript.
Cursors and Ranges
Markörer och intervall
As & kate; is a text editor, all the scripting API is based on cursors and ranges whenever possible. A Cursor is a simple (line, column) tuple representing a text position in the document. A Range spans text from a starting cursor position to an ending cursor position. The API is explained in detail in the next sections.
Eftersom & kate; är en texteditor är alla programmeringsgränssnitt baserade på markörer och intervall om det är möjligt. En markör (Cursor) är ett enkelt par (rad, kolumn), som representerar en textposition i dokumentet. Ett intervall (Range) omfattar text från en markörs startposition till en markörs slutposition. Programmeringsgränssnittet förklaras i detalj i följande avsnitt.
The Cursor Prototype
Prototypen för Cursor
Constructor. Returns a Cursor at position (0, 0).
Konstruktor. Returnerar en markör på position (0, 0).
Example: var cursor = new Cursor();
Exempel: var cursor = new Cursor ();
Cursor( int line, int column);
Cursor (int rad, int kolumn);
Constructor. Returns a Cursor at position (line, column).
Konstruktor. Returnerar en markör på position (rad, kolumn).
Example: var cursor = new Cursor(3, 42);
Exempel: var cursor = new Cursor( 3, 42);
Cursor( Cursor other);
Cursor (Cursor annan);
Copy constructor. Returns a copy of the cursor other.
Kopieringskonstruktor. Returnerar en kopia av markören annan.
Example: var copy = new Cursor(other);
Exempel: var copy = new Cursor( other);
Returns a clone of the cursor.
Returnerar en klon av markören.
Example: var clone = cursor. clone();
Exempel: var clone = cursor. clone ();
Check whether the cursor is valid. The cursor is invalid, if line and/ or column are set to -1.
Kontrollera om markören är giltig. Markören är ogiltig om rad och/ eller kolumn har värdet - 1.
Example: var valid = cursor. isValid();
Exampel: var valid = cursor. isValid ();
Returns an new invalid cursor located at (-1, -1).
Returnerar en ny ogiltig markör placerad på (- 1, - 1).
Example: var invalidCursor = cursor. invalid();
Exempel: var invalidCursor = cursor. invalid ();
int Cursor. compareTo( Cursor other);
int Cursor. compareTo (Cursor annan);
Compares this cursor to the cursor other. Returns
Jämför den här markören med markören annan. Returnerar
-1, if this cursor is located before the cursor other,
- 1, om den här markören är placerad innan markören annan,
0, if both cursors equal and
0, om båda markörerna är lika, och
+1, if this cursor is located after the cursor other.
+1, om den här markören är placerad efter markören annan.
bool Cursor. equals( Cursor other);
bool Cursor. equals (Cursor annan);
Returns true, if this cursor and the cursor other are equal, otherwise false.
Returnerar sant om den här markören och markören annan är lika, annars falskt.
Returns the cursor as a string of the form Cursor(line, column).
Returnerar markören som en sträng på formen Cursor( rad, kolumn).
The Range Prototype
Prototyp för Range
Constructor. Calling new Range() returns a Range at (0, 0) - (0, 0).
Konstruktor. Att anropa new Range () returnerar intervallet (0, 0) - (0, 0).
Range( Cursor start, Cursor end);
Range (Cursor start, Cursor slut);
Constructor. Calling new Range( start, end) returns the Range (start, end).
Konstruktor. Att anropa new Range (start, slut) returnerar intervallet (start, slut).
Range( int startLine, int startColumn, int endLine, int endColumn);
Range (int startrad, int startkolumn, int slutrad, int slutkolumn);
Constructor. Calling new Range( startLine, startColumn, endLine, endColumn) Returns the Range from (startLine, startColumn) to (endLine, endColumn).
Constructor. Calling new Range (startrad, startkolumn, slutrad, slutkolumn) Returnerar intervallet från (startrad, startkolumn) to (startrad, slutkolumn).
Range( Range other);
Range (Range annat);
Copy constructor. Returns a copy of Range other.
Kopieringskonstruktor. Returnerar en kopia av intervallet annat.
Returns a clone of the range.
Returnerar en klon av intervallet.
Example: var clone = range. clone();
Exempel: var clone = range. clone ();
Returns true, if both start and end cursor are valid, otherwise false.
Returnerar sant om både start - och slutmarkörerna är giltiga, annars falskt.
Example: var valid = range. isValid();
Exempel: var valid = range. isValid ();
Returns the Range from (-1, -1) to (-1, -1).
Returnerar intervallet från (- 1, - 1) till (- 1, - 1).
bool Range. contains( Cursor cursor);
bool Range. contains (Cursor markör);
Returns true, if this range contains the cursor position, otherwise false.
Returnerar true om intervallet innehåller markörpositionen, annars false.
bool Range. contains( Range other);
bool Range. contains (Range annat);
Returns true, if this range contains the Range other, otherwise false.
Returnerar sant om det här intervallet innehåller intervallet annat, annars falskt.
bool Range. containsColumn( int column);
bool Range. containsColumn (int kolumn);
Returns true, if column is in the half open interval [start. column, end. column), otherwise false.
Returnerar sant om kolumn är i det halvöppna intervallet [startkolumn, slutkolumn), annars falskt.
bool Range. containsLine( int line);
bool Range. containsLine (int rad);
Returns true, if line is in the half open interval [start. line, end. line), otherwise false.
Returnerar sant om rad är i det halvöppna intervallet [startrad, slutrad), annars falskt.
bool Range. overlaps( Range other);
bool Range. overlaps (Range annat);
Returns true, if this range and the range other share a common region, otherwise false.
Returnerar sant om det här intervallet och intervallet annat delar ett gemensamt område, annars falskt.
bool Range. overlapsLine( int line);
bool Range. overlapsLine (int rad);
Returns true, if line is in the interval [start. line, end. line], otherwise false.
Returnerar sant om rad är i intervallet [startrad, slutrad], annars falskt.
bool Range. overlapsColumn( int column);
bool Range. overlapsColumn (int kolumn);
Returns true, if column is in the interval [start. column, end. column], otherwise false.
Returnerar sant om kolumn är i intervallet [startkolumn, slutkolumn], annars falskt.
bool Range. equals( Range other);
bool Range. equals (Range annan);
Returns true, if this range and the Range other are equal, otherwise false.
Returnerar sant om det här intervallet och intervallet annat är lika, annars falskt.
Returns the range as a string of the form Range(Cursor(line, column), Cursor(line, column)).
Returnerar intervallet som en sträng på formen Range( Cursor( rad, kolumn), Cursor( rad, kolumn)).
Global Functions
Globala funktioner
void debug( String text);
void debug (String text);
Prints text to stdout in the console launching the application.
Skriver ut text på standardutmatningen i terminalen som startade programmet.
The View API
Programmeringsgränssnittet för vyn
Whenever a script is being executed, there is a global variable view representing the current active editor view. The following is a list of all available View functions.
När ett skript håller på att köras, finns det en global variabel view som representerar den för närvarande aktiva editorvyn. Det följande är en lista med alla tillgängliga funktioner i View.
Returns the current cursor position in the view.
Returnerar den nuvarande markörpositionen i vyn.
void view. setCursorPosition( int line, int column) void view. setCursorPosition( Cursor cursor)
void view. setCursorPosition (int rad, int kolumn) void view. setCursorPosition (Cursor markör)
void view. setCursorPosition( int line, int column); void view. setCursorPosition( Cursor cursor);
void view. setCursorPosition (int rad, int kolumn); void view. setCursorPosition (Cursor markör);
Set the current cursor position to either (line, column) or to the given cursor.
Ställ in den nuvarande markörpositionen till antingen (rad, kolumn) eller till den givna markören.
Returns the virtual cursor position with each tab counting the corresponding amount of spaces depending on the current tab width.
Returnerar den virtuella markörpositionen, där varje tabulator räknas som motsvarande antal mellanslag, beroende på nuvarande tabulatorbredd.
void view. setVirtualCursorPosition( int line, int column); void view. setVirtualCursorPosition( Cursor cursor);
void view. setVirtualCursorPosition (int rad, int kolumn); void view. setVirtualCursorPosition (Cursor markör);
Set the current virtual cursor position to (line, column) or to the given cursor.
Ställ in den nuvarande virtuella markörpositionen till (rad, kolumn) eller till den givna markören.
Returns the selected text. If no text is selected, the returned string is empty.
Returnerar den markerade texten. Om ingen text är markerad, är den returnerade strängen tom.
Returns true, if the view has selected text, otherwise false.
Returnerar true om vyn har markerad text, annars false.
Returns the selected text range. The returned range is invalid if there is no selected text.
Returnerar det markerade textintervallet. Det returnerade intervallet är ogiltigt om det inte finns någon markerad text.
void view. setSelection( Range range);
void view. setSelection (Range intervall);
Set the selected text to the given range.
Ställer in markerad text till angivet intervall.
Remove the selected text. If the view does not have any selected text, this does nothing.
Tar bort den markerade texten. Om vyn inte har någon markerad text, händer ingenting.
Selects the entire text in the document.
Markerar hela texten i dokumentet.
Clears the text selection without removing the text.
Rensar textmarkeringen utan att ta bort texten.
The Document API
Programmeringsgränssnittet för dokumentet
Whenever a script is being executed, there is a global variable document representing the current active document. The following is a list of all available Document functions.
När ett skript håller på att köras, finns det en global variabel document som representerar det för närvarande aktiva dokumentet. Det följande är en lista med alla tillgängliga funktioner i Document.
Returns the document's filename or an empty string for unsaved text buffers.
Returnerar dokumentets filnamn eller en tom sträng för osparade textbuffrar.
Returns the document's full url or an empty string for unsaved text buffers.
Returnerar dokumentets fullständiga webbadress eller en tom sträng för osparade textbuffrar.
Returns the document's mime type or the mime type application/ octet-stream if no appropriate mime type could be found.
Returnerar dokumentets Mime- typ eller Mime- typen application/ octet- stream om ingen lämplig Mime- typ kunde hittas.
Returns the currently used encoding to save the file.
Returnerar den nuvarande kodningen använd för att spara filen.
Returns true, if the document has unsaved changes (modified), otherwise false.
Returnerar true om dokumentet har osparade ändringar (är modifierat), annars false.
Returns the entire content of the document in a single text string. Newlines are marked with the newline character\.
Returnerar dokumentets hela innehåll i en enda textsträng. Nya rader är markerade med nyradstecknet\.
String document. text( int fromLine, int fromColumn, int toLine, int toColumn); String document. text( Cursor from, Cursor to); String document. text( Range range);
String document. text (int från_ rad, int från_ kolumn, int till_ rad, int till_ kolumn); String document. text (Cursor från, Cursor till); String document. text (Range intervall);
Returns the text in the given range. It is recommended to use the cursor and range based version for better readability of the source code.
Returnerar texten i det angivna intervallet. Det rekommenderas att använda markör - och intervallbaserade versioner för bättre läsbarhet hos källkoden.
String document. line( int line);
String document. line (int rad);
Returns the given text line as string. The string is empty if the requested line is out of range.
Returnerar den givna textraden som en sträng. Strängen är tom om den begärda raden är utanför tillgängligt intervall.
String document. wordAt( int line, int column); String document. wordAt( Cursor cursor);
String document. wordAt (int rad, int kolumn); String document. wordAt (Cursor markör);
Returns the word at the given cursor position.
Returnerar ordet på den angivna markörposition.
String document. charAt( int line, int column); String document. charAt( Cursor cursor);
String document. charAt (int rad, int kolumn); String document. charAt (Cursor markör);
Returns the character at the given cursor position.
Returnerar tacknet på den angivna markörpositionen.
String document. firstChar( int line);
String document. firstChar (int rad);
Returns the first character in the given line that is not a whitespace. The first character is at column 0. If the line is empty or only contains whitespace characters, the returned string is empty.
Returnerar det första tecknet på angiven rad som inte är ett blanktecken. Det första tecknet finns på kolumn 0. Om raden är tom, eller bara innehåller blanktecken, är den returnerade strängen tom.
String document. lastChar( int line);
String document. lastChar (int rad);
Returns the last character in the given line that is not a whitespace. If the line is empty or only contains whitespace characters, the returned string is empty.
Returnerar det sista tecknet på angiven rad som inte är ett blanktecken. Om raden är tom, eller bara innehåller blanktecken, är den returnerade strängen tom.
bool document. isSpace( int line, int column); bool document. isSpace( Cursor cursor);
bool document. isSpace (int rad, int kolumn); bool document. isSpace (Cursor markör);
Returns true, if the character at the given cursor position is a whitespace, otherwise false.
Returnerar sant om tecknet på den givna markörpositionen är ett blanktecken, annars falskt.
bool document. matchesAt( int line, int column, int line, String text); bool document. matchesAt( Cursor cursor, String text);
bool document. matchesAt (int rad, int kolumn, int rad, String text); bool document. matchesAt (Cursor markör, String text);
Returns true, if the given text matches at the corresponding cursor position, otherwise false.
Returnerar sant om given text matchar på den motsvarande markörpositionen, annars falskt.
bool document. startsWith( int line, String text, bool skipWhiteSpaces);
bool document. startsWith (int rad, String text, bool hoppa_ över_ blanktecken);
Returns true, if the line starts with text, otherwise false. The argument skipWhiteSpaces controls whether leading whitespaces are ignored.
Returnerar sant om raden börjar med text, annars falskt. Argumentet hoppa_ över_ blanktecken bestämmer om inledande blanktecken ignoreras.
bool document. endsWith( int line, String text, bool skipWhiteSpaces);
bool document. endsWith (int rad, String text, bool hoppa_ över_ blanktecken);
Returns true, if the line ends with text, otherwise false. The argument skipWhiteSpaces controls whether trailing whitespaces are ignored.
Returnerar sant om raden slutar med text, annars falskt. Argumentet hoppa_ över_ blanktecken bestämmer om inledande blanktecken ignoreras.
bool document. setText( String text);
bool document. setText (String text);
Sets the entire document text.
Anger hela dokumentets text.
Removes the entire text in the document.
Tar bort hela texten i dokumentet.
bool document. truncate( int line, int column); bool document. truncate( Cursor cursor);
bool document. truncate (int rad, int kolumn); bool document. truncate (Cursor markör);