Stores all the data about Editor state providing easy way to change editors state. EditSession can be attached to only one Document. Same Document can be attached to several EditSessions.

Constructors

Sets up a new EditSession and associates it with the given Document and TextMode.

   

Sets up a new EditSession and associates it with the given Document and TextMode.

Arguments

textDocument | StringRequired. If text is a Document, it associates the EditSession with it. Otherwise, a new Document is created, with the initial text
modeTextModeRequired. The inital language mode to use for the document

Events

    • EditSession.on("change", function(e))

    Emitted when the document changes.

       

    Emitted when the document changes.

      • EditSession.on("changeFold", function(e))

      Emitted when a code fold added or removed.

         

      Emitted when a code fold added or removed.

        • EditSession.on("changeScrollLeft", function())

        Emitted when the scroll left changes.

           

        Emitted when the scroll left changes.

          • EditSession.on("changeScrollTop", function())

          Emitted when the scroll top changes.

             

          Emitted when the scroll top changes.

            • EditSession.on("tokenizerUpdate", function(e))

            Emitted when a background tokenizer asynchronousely processes new rows.

               

            Emitted when a background tokenizer asynchronousely processes new rows.

            Methods

              • EditSession.$computeWrapSplits(tokens, wrapLimit)
              • Internal

               

              • EditSession.$constrainWrapLimit(wrapLimit)
              • Internal

               

              • EditSession.$detectNewLine(String text)
              • Internal

            If text contains either the newline (\n) or carriage-return ('\r') characters, $autoNewLine stores that value.

               

            If text contains either the newline (\n) or carriage-return ('\r') characters, $autoNewLine stores that value.

            Arguments

            textStringRequired. A block of text

            Given a string, returns an array of the display characters, including tabs and spaces.

               

            Given a string, returns an array of the display characters, including tabs and spaces.

            Arguments

            strStringRequired. The string to check
            offsetNumberRequired. The value to start at

            Calculates the width of the string str on the screen while assuming that the string starts at the first column on the screen.

               

            Calculates the width of the string str on the screen while assuming that the string starts at the first column on the screen.

            Arguments

            strStringRequired. The string to calculate the screen width of
            maxScreenColumnNumberRequired.
            screenColumnNumberRequired.
              • EditSession.$getUndoSelection(deltas, isUndo, lastUndoRange)
              • Internal

               

              • EditSession.$resetRowCache(Number row)
              • Internal

               

            Arguments

            rowNumberRequired. The row to work with
              • EditSession.$startWorker()
              • Internal

               

              • EditSession.$syncInformUndoManager()
              • Internal

               

              • EditSession.$updateInternalDataOnChange()
              • Internal

               

              • EditSession.$updateWrapData(firstRow, lastRow)
              • Internal

               

            Adds a dynamic marker to the session.

               

            Adds a dynamic marker to the session.

            Arguments

            markerObjectRequired. object with update method
            inFrontBooleanRequired. Set to true to establish a front marker
              • EditSession.addGutterDecoration(Number row, String className)
                • Void

              Adds className to the row, to be used for CSS stylings and whatnot.

                 

              Adds className to the row, to be used for CSS stylings and whatnot.

              Arguments

              rowNumberRequired. The row number
              classNameStringRequired. The class to add

              Adds a new marker to the given Range. If inFront is true, a front marker is defined, and the 'changeFrontMarker' event fires; otherwise, the 'changeBackMarker' event fires.

                 

              Adds a new marker to the given Range. If inFront is true, a front marker is defined, and the 'changeFrontMarker' event fires; otherwise, the 'changeBackMarker' event fires.

              Arguments

              rangeRangeRequired. Define the range of the marker
              clazzStringRequired. Set the CSS class for the marker
              typeFunction | StringRequired. Identify the type of the marker
              inFrontBooleanRequired. Set to true to establish a front marker

              This should generally only be called by the renderer when a resize is detected.

                 

              This should generally only be called by the renderer when a resize is detected.

              Arguments

              desiredLimitNumberRequired. The new wrap limit
                • EditSession.clearAnnotations()

                Clears all the annotations for this session. This function also triggers the 'changeAnnotation' event.

                   

                Clears all the annotations for this session. This function also triggers the 'changeAnnotation' event.

                  • EditSession.clearBreakpoint(Number row)

                  Removes a breakpoint on the row number given by rows. This function also emites the 'changeBreakpoint' event.

                     

                  Removes a breakpoint on the row number given by rows. This function also emites the 'changeBreakpoint' event.

                  Arguments

                  rowNumberRequired. A row index
                    • EditSession.clearBreakpoints()

                    Removes all breakpoints on the rows. This function also emites the 'changeBreakpoint' event.

                       

                    Removes all breakpoints on the rows. This function also emites the 'changeBreakpoint' event.

                      • EditSession.documentToScreenColumn(row, docColumn)
                      • Internal

                       

                    Converts document coordinates to screen coordinates. This takes into account code folding, word wrap, tab size, and any other visual modifications.

                       

                    Converts document coordinates to screen coordinates. This takes into account code folding, word wrap, tab size, and any other visual modifications.

                    Arguments

                    docRowNumberRequired. The document row to check
                    docColumnNumberRequired. The document column to check
                      • EditSession.documentToScreenRow(docRow, docColumn)
                      • Internal

                       

                    Duplicates all the text between firstRow and lastRow.

                       

                    Duplicates all the text between firstRow and lastRow.

                    Arguments

                    firstRowNumberRequired. The starting row to duplicate
                    lastRowNumberRequired. The final row to duplicate
                      • EditSession.getAnnotations()

                      Returns the annotations for the EditSession.

                         

                      Returns the annotations for the EditSession.

                      Gets the range of a word, including its right whitespace.

                         

                      Gets the range of a word, including its right whitespace.

                      Arguments

                      rowNumberRequired. The row number to start from
                      columnNumberRequired. The column number to start from
                        • EditSession.getBreakpoints()

                        Returns an array of numbers, indicating which rows have breakpoints.

                           

                        Returns an array of numbers, indicating which rows have breakpoints.

                        Returns the Document associated with this session.

                           

                        Returns the Document associated with this session.

                          • EditSession.getDocumentLastRowColumnPosition(docRow, docColumn)
                          • Internal

                           

                        Returns the number of rows in the document.

                           

                        Returns the number of rows in the document.

                        Returns a verbatim copy of the given line as it is in the document

                           

                        Returns a verbatim copy of the given line as it is in the document

                        Arguments

                        rowNumberRequired. The row to retrieve from

                        Returns an array of strings of the rows between firstRow and lastRow. This function is inclusive of lastRow.

                           

                        Returns an array of strings of the rows between firstRow and lastRow. This function is inclusive of lastRow.

                        Arguments

                        firstRowNumberRequired. The first row index to retrieve
                        lastRowNumberRequired. The final row index to retrieve

                        Returns an array containing the IDs of all the markers, either front or back.

                           

                        Returns an array containing the IDs of all the markers, either front or back.

                        Arguments

                        inFrontBooleanRequired. If true, indicates you only want front markers; false indicates only back markers

                        Returns the current text mode.

                           

                        Returns the current text mode.

                        Returns the current new line mode.

                           

                        Returns the current new line mode.

                        Returns true if overwrites are enabled; false otherwise.

                           

                        Returns true if overwrites are enabled; false otherwise.

                        Returns number of screenrows in a wrapped line.

                           

                        Returns number of screenrows in a wrapped line.

                        Arguments

                        rowNumberRequired. The row number to check
                          • EditSession.getRowSplitData(row)
                          • Internal

                           

                        Returns the column position (on screen) for the last character in the provided row.

                           

                        Returns the column position (on screen) for the last character in the provided row.

                        Arguments

                        screenRowNumberRequired. The screen row to check
                          • EditSession.getScreenLength()

                          Returns the length of the screen.

                             

                          Returns the length of the screen.

                          The distance to the next tab stop at the specified screen column.

                             

                          The distance to the next tab stop at the specified screen column.

                          Arguments

                          screenColumnNumberRequired. The screen column to check
                            • EditSession.getScreenWidth()

                            Returns the width of the screen.

                               

                            Returns the width of the screen.

                              • EditSession.getScrollLeft()

                              Returns the value of the distance between the left of the editor and the leftmost part of the visible content.

                                 

                              Returns the value of the distance between the left of the editor and the leftmost part of the visible content.

                                • EditSession.getScrollTop()

                                Returns the value of the distance between the top of the editor and the topmost part of the visible content.

                                   

                                Returns the value of the distance between the top of the editor and the topmost part of the visible content.

                                  • EditSession.getSelection()

                                  Returns the string of the current selection.

                                     

                                  Returns the string of the current selection.

                                  Returns the state of tokenization at the end of a row.

                                     

                                  Returns the state of tokenization at the end of a row.

                                  Arguments

                                  rowNumberRequired. The row to start at
                                    • EditSession.getTabSize()

                                    Returns the current tab size.

                                       

                                    Returns the current tab size.

                                      • EditSession.getTabString()

                                      Returns the current value for tabs. If the user is using soft tabs, this will be a series of spaces (defined by getTabSize); otherwise it's simply '\t'.

                                         

                                      Returns the current value for tabs. If the user is using soft tabs, this will be a series of spaces (defined by getTabSize); otherwise it's simply '\t'.

                                      Given a range within the document, this function returns all the text within that range as a single string.

                                         

                                      Given a range within the document, this function returns all the text within that range as a single string.

                                      Arguments

                                      rangeStringRequired. The range to work with

                                      Returns an array of tokens at the indicated row and column.

                                         

                                      Returns an array of tokens at the indicated row and column.

                                      Arguments

                                      rowNumberRequired. The row number to retrieve from
                                      columnNumberRequired. The column number to retrieve from

                                      Starts tokenizing at the row indicated. Returns a list of objects of the tokenized rows.

                                         

                                      Starts tokenizing at the row indicated. Returns a list of objects of the tokenized rows.

                                      Arguments

                                      rowNumberRequired. The row to start at

                                      Returns the current undo manager.

                                         

                                      Returns the current undo manager.

                                        • EditSession.getUseSoftTabs()

                                        Returns true if soft tabs are being used, false otherwise.

                                           

                                        Returns true if soft tabs are being used, false otherwise.

                                        Returns true if workers are being used.

                                           

                                        Returns true if workers are being used.

                                          • EditSession.getUseWrapMode()

                                          Returns true if wrap mode is being used; false otherwise.

                                             

                                          Returns true if wrap mode is being used; false otherwise.

                                          Given a starting row and column, this method returns the Range of the first word boundary it finds.

                                             

                                          Given a starting row and column, this method returns the Range of the first word boundary it finds.

                                          Arguments

                                          rowNumberRequired. The row to start at
                                          columnNumberRequired. The column to start at
                                            • EditSession.getWrapLimit()

                                            Returns the value of wrap limit.

                                               

                                            Returns the value of wrap limit.

                                              • EditSession.getWrapLimitRange()

                                              Returns an object that defines the minimum and maximum of the wrap limit; it looks something like this:

                                                 

                                              Returns an object that defines the minimum and maximum of the wrap limit; it looks something like this:

                                              { min: wrapLimitRange_min, max: wrapLimitRange_max }

                                              Indents all the rows, from startRow to endRow (inclusive), by prefixing each row with the token in indentString.

                                                 

                                              Indents all the rows, from startRow to endRow (inclusive), by prefixing each row with the token in indentString.

                                              If indentString contains the '\t' character, it's replaced by whatever is defined by getTabString.

                                              Arguments

                                              startRowNumberRequired. Starting row
                                              endRowNumberRequired. Ending row
                                              indentStringStringRequired. The indent token

                                              Inserts a block of text and the indicated position.

                                                 

                                              Inserts a block of text and the indicated position.

                                              Arguments

                                              positionNumberRequired. The position to start inserting at
                                              textStringRequired. A chunk of text to insert

                                              Returns true if the character at the position is a soft tab.

                                                 

                                              Returns true if the character at the position is a soft tab.

                                              Arguments

                                              positionObjectRequired. The position to check

                                              Shifts all the lines in the document up one, starting from firstRow and ending at lastRow.

                                                 

                                              Shifts all the lines in the document up one, starting from firstRow and ending at lastRow.

                                              Arguments

                                              firstRowNumberRequired. The starting row to move up
                                              lastRowNumberRequired. The final row to move up

                                              { row: newRowLocation, column: newColumnLocation }

                                                 

                                              { row: newRowLocation, column: newColumnLocation }

                                              Arguments

                                              fromRangeRangeRequired. The range of text you want moved within the document
                                              toPositionObjectRequired. The location (row and column) where you want to move the text to
                                                • EditSession.onReloadTokenizer(e)

                                                Reloads all the tokens on the current session. This function calls start to all the rows; it also emits the 'tokenizerUpdate' event.

                                                   

                                                Reloads all the tokens on the current session. This function calls start to all the rows; it also emits the 'tokenizerUpdate' event.

                                                  • EditSession.outdentRows(Range range)

                                                  Outdents all the rows defined by the start and end properties of range.

                                                     

                                                  Outdents all the rows defined by the start and end properties of range.

                                                  Arguments

                                                  rangeRangeRequired. A range of rows

                                                  Re-implements a previously undone change to your document.

                                                     

                                                  Re-implements a previously undone change to your document.

                                                  Arguments

                                                  deltasArrayRequired. An array of previous changes
                                                  dontSelectBooleanRequired. If true, doesn't select the range of where the change occured

                                                  Removes the range from the document.

                                                     

                                                  Removes the range from the document.

                                                  Arguments

                                                  rangeRangeRequired. A specified Range to remove
                                                    • EditSession.removeGutterDecoration(Number row, String className)
                                                      • Void

                                                    Removes className from the row.

                                                       

                                                    Removes className from the row.

                                                    Arguments

                                                    rowNumberRequired. The row number
                                                    classNameStringRequired. The class to add
                                                      • EditSession.removeMarker(Number markerId)

                                                      Removes the marker with the specified ID. If this marker was in front, the 'changeFrontMarker' event is emitted. If the marker was in the back, the 'changeBackMarker' event is emitted.

                                                         

                                                      Removes the marker with the specified ID. If this marker was in front, the 'changeFrontMarker' event is emitted. If the marker was in the back, the 'changeBackMarker' event is emitted.

                                                      Arguments

                                                      markerIdNumberRequired. A number representing a marker

                                                      Replaces a range in the document with the new text.

                                                         

                                                      Replaces a range in the document with the new text.

                                                      Arguments

                                                      rangeRangeRequired. A specified Range to replace
                                                      textStringRequired. The new text to use as a replacement
                                                        • EditSession.screenToDocumentColumn(screenRow, screenColumn)
                                                        • Internal

                                                         

                                                      Converts characters coordinates on the screen to characters coordinates within the document. This takes into account code folding, word wrap, tab size, and any other visual modifications.

                                                         

                                                      Converts characters coordinates on the screen to characters coordinates within the document. This takes into account code folding, word wrap, tab size, and any other visual modifications.

                                                      Arguments

                                                      screenRowNumberRequired. The screen row to check
                                                      screenColumnNumberRequired. The screen column to check
                                                        • EditSession.screenToDocumentRow(screenRow, screenColumn)
                                                        • Internal

                                                         

                                                        • EditSession.setAnnotations(Array annotations)

                                                        Sets annotations for the EditSession. This functions emits the 'changeAnnotation' event.

                                                           

                                                        Sets annotations for the EditSession. This functions emits the 'changeAnnotation' event.

                                                        Arguments

                                                        annotationsArrayRequired. A list of annotations

                                                        Sets a breakpoint on the row number given by rows. This function also emites the 'changeBreakpoint' event.

                                                           

                                                        Sets a breakpoint on the row number given by rows. This function also emites the 'changeBreakpoint' event.

                                                        Arguments

                                                        rowNumberRequired. A row index
                                                        classNameStringRequired. Class of the breakpoint
                                                          • EditSession.setBreakpoints(Array rows)

                                                          Sets a breakpoint on every row number given by rows. This function also emites the 'changeBreakpoint' event.

                                                             

                                                          Sets a breakpoint on every row number given by rows. This function also emites the 'changeBreakpoint' event.

                                                          Arguments

                                                          rowsArrayRequired. An array of row indicies

                                                          Sets the EditSession to point to a new Document. If a BackgroundTokenizer exists, it also points to doc.

                                                             

                                                          Sets the EditSession to point to a new Document. If a BackgroundTokenizer exists, it also points to doc.

                                                          Arguments

                                                          docDocumentRequired. The new Document to use

                                                          Sets a new text mode for the EditSession. This method also emits the 'changeMode' event. If a BackgroundTokenizer is set, the 'tokenizerUpdate' event is also emitted.

                                                             

                                                          Sets a new text mode for the EditSession. This method also emits the 'changeMode' event. If a BackgroundTokenizer is set, the 'tokenizerUpdate' event is also emitted.

                                                          Arguments

                                                          modeTextModeRequired. Set a new text mode

                                                          Sets the new line mode.

                                                             

                                                          Sets the new line mode.

                                                          Arguments

                                                          newLineModeStringRequired. The newline mode to use; can be either windows, unix, or auto
                                                            • EditSession.setOverwrite(Boolean overwrite)

                                                            Pass in true to enable overwrites in your session, or false to disable. If overwrites is enabled, any text you enter will type over any text after it. If the value of overwrite changes, this function also emites the changeOverwrite event.

                                                               

                                                            Pass in true to enable overwrites in your session, or false to disable. If overwrites is enabled, any text you enter will type over any text after it. If the value of overwrite changes, this function also emites the changeOverwrite event.

                                                            Arguments

                                                            overwriteBooleanRequired. Defines wheter or not to set overwrites
                                                              • EditSession.setScrollLeft(scrollLeft)

                                                              Sets the value of the distance between the left of the editor and the leftmost part of the visible content.

                                                                 

                                                              Sets the value of the distance between the left of the editor and the leftmost part of the visible content.

                                                                • EditSession.setScrollTop(Number scrollTop)

                                                                This function sets the scroll top value. It also emits the 'changeScrollTop' event.

                                                                   

                                                                This function sets the scroll top value. It also emits the 'changeScrollTop' event.

                                                                Arguments

                                                                scrollTopNumberRequired. The new scroll top value
                                                                  • EditSession.setTabSize(Number tabSize)

                                                                  Set the number of spaces that define a soft tab; for example, passing in 4 transforms the soft tabs to be equivalent to four spaces. This function also emits the changeTabSize event.

                                                                     

                                                                  Set the number of spaces that define a soft tab; for example, passing in 4 transforms the soft tabs to be equivalent to four spaces. This function also emits the changeTabSize event.

                                                                  Arguments

                                                                  tabSizeNumberRequired. The new tab size

                                                                  Sets the undo manager.

                                                                     

                                                                  Sets the undo manager.

                                                                  Arguments

                                                                  undoManagerUndoManagerRequired. The new undo manager
                                                                    • EditSession.setUndoSelect(Boolean enable)

                                                                    ENables or disables highlighting of the range where an undo occured.

                                                                       

                                                                    ENables or disables highlighting of the range where an undo occured.

                                                                    Arguments

                                                                    enableBooleanRequired. If true, selects the range of the reinserted change
                                                                      • EditSession.setUseSoftTabs(Boolean useSoftTabs)

                                                                      Pass true to enable the use of soft tabs. Soft tabs means you're using spaces instead of the tab character ('\t').

                                                                         

                                                                      Pass true to enable the use of soft tabs. Soft tabs means you're using spaces instead of the tab character ('\t').

                                                                      Arguments

                                                                      useSoftTabsBooleanRequired. Value indicating whether or not to use soft tabs
                                                                        • EditSession.setUseWorker(Boolean useWorker)

                                                                        Identifies if you want to use a worker for the EditSession.

                                                                           

                                                                        Identifies if you want to use a worker for the EditSession.

                                                                        Arguments

                                                                        useWorkerBooleanRequired. Set to true to use a worker
                                                                          • EditSession.setUseWrapMode(Boolean useWrapMode)

                                                                          Sets whether or not line wrapping is enabled. If useWrapMode is different than the current value, the 'changeWrapMode' event is emitted.

                                                                             

                                                                          Sets whether or not line wrapping is enabled. If useWrapMode is different than the current value, the 'changeWrapMode' event is emitted.

                                                                          Arguments

                                                                          useWrapModeBooleanRequired. Enable (or disable) wrap mode
                                                                            • EditSession.setValue(String text)

                                                                            Sets the session text.

                                                                               

                                                                            Sets the session text.

                                                                            Arguments

                                                                            textStringRequired. The new text to place

                                                                            Sets the boundaries of wrap. Either value can be null to have an unconstrained wrap, or, they can be the same number to pin the limit. If the wrap limits for min or max are different, this method also emits the 'changeWrapMode' event.

                                                                               

                                                                            Sets the boundaries of wrap. Either value can be null to have an unconstrained wrap, or, they can be the same number to pin the limit. If the wrap limits for min or max are different, this method also emits the 'changeWrapMode' event.

                                                                            Arguments

                                                                            minNumberRequired. The minimum wrap value (the left side wrap)
                                                                            maxNumberRequired. The maximum wrap value (the right side wrap)
                                                                              • EditSession.stopWorker()
                                                                              • Internal

                                                                               

                                                                              • EditSession.toggleOverwrite()

                                                                              Sets the value of overwrite to the opposite of whatever it currently is.

                                                                                 

                                                                              Sets the value of overwrite to the opposite of whatever it currently is.

                                                                              Reverts previous changes to your document.

                                                                                 

                                                                              Reverts previous changes to your document.

                                                                              Arguments

                                                                              deltasArrayRequired. An array of previous changes
                                                                              dontSelectBooleanRequired. If true, doesn't select the range of where the change occured