Multisource composable projection of text
First Claim
1. A method, implemented on a processing device, for projecting data to a first buffer for use by an application, the method comprising:
- projecting a portion of data from a second buffer to the first buffer the first buffer being a projection buffer;
projecting a portion of data from a third buffer to the first buffer, as a result of the projecting of the portion of the data from the second buffer and the portion of the data from the third buffer, the first buffer does not include any data projected from the second buffer and the third buffer, but instead includes an ordered list of source spans describing a span of the portion of the second buffer and a span of the portion of the third buffer; and
providing, to an application, the portions of the data projected to the first buffer, the portion of the data from the second buffer and the portion of the data from the third buffer appearing to the application as if included in the first buffer, whereinthe method is performed by the processing device.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments consistent with the subject matter of this disclosure may transparently project text fragments from one or more buffers into one or more projection buffers by reference, instead of by copying. Clients or applications, such as, for example, compilers, language services, an editor'"'"'s rendering system, or other client or application, may transparently process the projected text fragments projected into the projection buffers as if processing simple text files. In some embodiments, text of a first language, embedded in a document having text of one or more other languages, may be projected to a projection buffer and provided to an application, which may process text of the first language. In other embodiments, text may be elided from a document by projecting to a projection buffer only text not to be elided from the document.
17 Citations
19 Claims
-
1. A method, implemented on a processing device, for projecting data to a first buffer for use by an application, the method comprising:
-
projecting a portion of data from a second buffer to the first buffer the first buffer being a projection buffer; projecting a portion of data from a third buffer to the first buffer, as a result of the projecting of the portion of the data from the second buffer and the portion of the data from the third buffer, the first buffer does not include any data projected from the second buffer and the third buffer, but instead includes an ordered list of source spans describing a span of the portion of the second buffer and a span of the portion of the third buffer; and providing, to an application, the portions of the data projected to the first buffer, the portion of the data from the second buffer and the portion of the data from the third buffer appearing to the application as if included in the first buffer, wherein the method is performed by the processing device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A processing device comprising:
-
at least one processor; a memory including instructions for the at least one processor; and a bus providing a communication link between the at least one processor and the memory, the memory comprising; instructions for projecting at least one portion of a text buffer to a first projection buffer such that a first ordered list of one or more source spans describing one or more spans of the at least one projected portion of the text buffer is included in the first projection buffer and no textual data from the at least one projected portion of the text buffer is included in the first projection buffer, instructions for projecting at least one portion of the first projection buffer, including the at least one portion of the text buffer, to a second projection buffer such that a second ordered list of one or more source spans describing one or more spans of the at least one portion of the first projection buffer is included in the second projection buffer and no textual data from the at least a portion of the first projection buffer is included in the second projection buffer; and instructions for an application to receive data associated with the second projection buffer. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A tangible machine-readable medium having instructions recorded thereon for at least one processor, the tangible machine-readable medium comprising:
-
instructions for projecting a portion of text data from at least a portion of a source buffer to a plurality of projection buffers such that, as a result of the projecting, the plurality of projection buffers include an ordered list of one or more spans describing the projected portion of the source buffer and do not include the portion of the text data projected; and instructions for providing at least portions of at least two of the plurality of projection buffers, including the projected portion of text data, to one or more applications. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification