A system comprising: one or more processors; and a memory that stores one or more programs that are configured to be executed by the one or more processors, the one or more programs including instructions to perform actions that: generate an ordered sequence of subtokens representing a context of a source code program in a source code editor at a current cursor position, the source code program written in a first programming language, the context including a file-level context and a local context; process the ordered sequence of subtokens by a deep learning model to generate a candidate to complete a line of source code at the current cursor position, wherein the deep learning model is trained to recognize source code written in a second, unseen programming language, wherein the first programming language and the second programming language differ, wherein k partial candidate sequences are generated at each iteration of the processing using the deep learning model to predict a next subtoken for a partial candidate sequence by generating an output probability distribution of the subtokens at each iteration, wherein the processing selects top k subtokens having highest probability to complete a partial candidate sequence, wherein the processing ceases when the deep learning model predicts an end-of-line token as next subtoken for a select partial candidate sequence; and providing the select partial candidate sequence as a candidate to complete the line of source code at the current cursor position. one or more processors; and a memory that stores one or more programs that are configured to be executed by the one or more processors, the one or more programs including instructions to perform actions that: generate an ordered sequence of subtokens representing a context of a source code program in a source code editor at a current cursor position, the source code program written in a first programming language, the context including a file-level context and a local context; process the ordered sequence of subtokens by a deep learning model to generate a candidate to complete a line of source code at the current cursor position, wherein the deep learning model is trained to recognize source code written in a second, unseen programming language, wherein the first programming language and the second programming language differ, wherein k partial candidate sequences are generated at each iteration of the processing using the deep learning model to predict a next subtoken for a partial candidate sequence by generating an output probability distribution of the subtokens at each iteration, wherein the processing selects top k subtokens having highest probability to complete a partial candidate sequence, wherein the processing ceases when the deep learning model predicts an end-of-line token as next subtoken for a select partial candidate sequence; and providing the select partial candidate sequence as a candidate to complete the line of source code at the current cursor position. generate an ordered sequence of subtokens representing a context of a source code program in a source code editor at a current cursor position, the source code program written in a first programming language, the context including a file-level context and a local context; process the ordered sequence of subtokens by a deep learning model to generate a candidate to complete a line of source code at the current cursor position, wherein the deep learning model is trained to recognize source code written in a second, unseen programming language, wherein the first programming language and the second programming language differ, wherein k partial candidate sequences are generated at each iteration of the processing using the deep learning model to predict a next subtoken for a partial candidate sequence by generating an output probability distribution of the subtokens at each iteration, wherein the processing selects top k subtokens having highest probability to complete a partial candidate sequence, wherein the processing ceases when the deep learning model predicts an end-of-line token as next subtoken for a select partial candidate sequence; and providing the select partial candidate sequence as a candidate to complete the line of source code at the current cursor position.