Skip to content

Commit

Permalink
56
Browse files Browse the repository at this point in the history
  • Loading branch information
luozhiya committed Jan 28, 2025
1 parent 1f2c340 commit d8e4ff6
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ local Client = require('fittencode.client')
local Protocol = require('fittencode.client.protocol')
local Log = require('fittencode.log')

---@class FittenCode.Inline.Headless
---@class FittenCode.Headless.Inline
local Headless = {}
Headless.__index = Headless

---@class FittenCode.Inline.Headless.Options
---@class FittenCode.Headless.Inline.Options

---@param options FittenCode.Inline.Headless.Options
---@param options FittenCode.Headless.Inline.Options
function Headless:new(options)
local obj = {}
setmetatable(obj, self)
Expand Down
3 changes: 1 addition & 2 deletions lua/fittencode/inline/controller.lua
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ local Log = require('fittencode.log')
local Model = require('fittencode.inline.model')
local View = require('fittencode.inline.view')
local Position = require('fittencode.position')
local PromptGenerator = require('fittencode.inline.prompt_generator')
local ProjectCompletionService = require('fittencode.inline.project_completion_service')
local Status = require('fittencode.inline.status')
local NotifyLogin = require('fittencode.client.notify_login')
local PromptGenerator = require('fittencode.inline.prompt_generator')

---@class FittenCode.Inline.Controller
local Controller = {}
Expand Down Expand Up @@ -171,7 +171,6 @@ function Controller:send_completions(buf, position, options)
buf = buf,
position = position,
id = assert(Fn.uuid_v4()),
gos_version = self.gos_version,
edit_mode = options.edit_mode,
prompt_generator = self.prompt_generator,
triggering_completion = function(...) self:triggering_completion_auto(...) end,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,20 @@ local LspService = require('fittencode.lsp_service')

local fim_pattern = '<((fim_((prefix)|(suffix)|(middle)))|(|[a-z]*|))>'

---@class FittenCode.Inline.PromptGenerator.ProjectAwareGenerator
---@field last FittenCode.Inline.PromptGenerator.ProjectAwareGenerator.Last
---@class FittenCode.Inline.PromptGenerator
---@field last FittenCode.Inline.PromptGenerator.Last
---@field project_completion_service FittenCode.Inline.ProjectCompletionService

---@class FittenCode.Inline.PromptGenerator.ProjectAwareGenerator.Last
---@class FittenCode.Inline.PromptGenerator.Last
---@field filename string
---@field text string
---@field ciphertext string

---@class FittenCode.Inline.PromptGenerator.ProjectAwareGenerator
local ProjectAwareGenerator = {}
ProjectAwareGenerator.__index = ProjectAwareGenerator
---@class FittenCode.Inline.PromptGenerator
local PromptGenerator = {}
PromptGenerator.__index = PromptGenerator

function ProjectAwareGenerator:new(options)
function PromptGenerator:new(options)
local obj = {
last = {
filename = '',
Expand All @@ -38,7 +38,7 @@ end

---@param buf number?
---@param position FittenCode.Position
function ProjectAwareGenerator:_recalculate_prefix_suffix(buf, position)
function PromptGenerator:_recalculate_prefix_suffix(buf, position)
-- VSCode 的 max_chars 是按 UTF-16 一个 16 位字节来计算的,如果是 emoji 占用一对代理对就会计算成两个
-- Neovim 的 max_chars 是 UTF-32
local max_chars = 22e4
Expand Down Expand Up @@ -120,7 +120,7 @@ local function compare_bytes_order(prev, curr)
return leq, req
end

function ProjectAwareGenerator:_recalculate_meta_datas(options)
function PromptGenerator:_recalculate_meta_datas(options)
assert(options)
local text = options.text or ''
local ciphertext = options.ciphertext or ''
Expand Down Expand Up @@ -195,7 +195,7 @@ function ProjectAwareGenerator:_recalculate_meta_datas(options)
end
end

function ProjectAwareGenerator:_generate_project_completion_prompt(buf, position, options)
function PromptGenerator:_generate_project_completion_prompt(buf, position, options)
Promise:new(function(resolve, reject)
self.project_completion_service.project_completion.v2:get_file_lsp(buf, {
on_success = function(lsp)
Expand Down Expand Up @@ -238,7 +238,7 @@ function ProjectAwareGenerator:_generate_project_completion_prompt(buf, position
end)
end

function ProjectAwareGenerator:_generate_prompt(buf, position, options)
function PromptGenerator:_generate_prompt(buf, position, options)
local ctx = self:_recalculate_prefix_suffix(buf, position)
local text = ctx.prefix .. ctx.suffix

Expand Down Expand Up @@ -277,7 +277,7 @@ end
---@param buf number?
---@param position FittenCode.Position
---@param options table
function ProjectAwareGenerator:generate(buf, position, options)
function PromptGenerator:generate(buf, position, options)
Fn.schedule_call(options.on_create)

local open_pc = Config.use_project_completion.open
Expand Down Expand Up @@ -321,4 +321,4 @@ function ProjectAwareGenerator:generate(buf, position, options)
end)
end

return ProjectAwareGenerator
return PromptGenerator
2 changes: 1 addition & 1 deletion lua/fittencode/types.lua
Original file line number Diff line number Diff line change
Expand Up @@ -402,4 +402,4 @@
---@field on_no_more_suggestion? function

-- Inline 的 headless 模式,允许在没有 UI 和不干扰原来 Inline 引擎的情况下,发送补全请求,用于二次开发
---@class FittenCode.Inline.Headless
---@class FittenCode.Headless.Inline

0 comments on commit d8e4ff6

Please sign in to comment.