diff options
| author | ThePrimeAgain <theprimeagain@theprimeagain.com> | 2025-12-01 16:01:40 -0700 |
|---|---|---|
| committer | ThePrimeAgain <theprimeagain@theprimeagain.com> | 2025-12-01 16:01:40 -0700 |
| commit | 7438d6024d57736ec2fe8e0cc8feeb4f5c817d33 (patch) | |
| tree | 0e44b283b395817fae12934809dc8019ae0b15ed /lua/99/ops/implement-fn.lua | |
| parent | 00c5d9a9ca2d978641e7d30ab70bb34249011dec (diff) | |
| download | a4-7438d6024d57736ec2fe8e0cc8feeb4f5c817d33.tar.xz a4-7438d6024d57736ec2fe8e0cc8feeb4f5c817d33.zip | |
getting to the point of making this look pretty
Diffstat (limited to 'lua/99/ops/implement-fn.lua')
| -rw-r--r-- | lua/99/ops/implement-fn.lua | 31 |
1 files changed, 21 insertions, 10 deletions
diff --git a/lua/99/ops/implement-fn.lua b/lua/99/ops/implement-fn.lua index ef28c10..3d445a7 100644 --- a/lua/99/ops/implement-fn.lua +++ b/lua/99/ops/implement-fn.lua @@ -1,32 +1,43 @@ +local Context = require("99.ops.context") +local Location = require("99.editor.location") local Logger = require("99.logger.logger") local Request = require("99.request") local editor = require("99.editor") -local Range = require("99.geo").Range +local geo = require("99.geo") +local Range = geo.Range +local Point = geo.Point local function update_code(request, ok, res) if not ok then error("unable to implement function. check logger for more details") end - Logger:fatal("not implemented yet") + Logger:fatal("not implemented yet") end --- @param _99 _99.State ---- @return _99.Request? +--- @return _99.Request local function implement_fn(_99) + local ts = editor.treesitter + local cursor = Point:from_cursor() + local scopes = ts.function_scopes(cursor) + + local range = scopes:get_inner_scope() + + local context = Context.new(_99) local request = Request.new({ - model = _99.model, - md_files = _99.md_files, on_complete = update_code, + model = _99.model, + context = context, }) local ts = editor.treesitter local ident = ts.identifier(request.buffer, request.cursor) - print_ident(ident) + print_ident(ident) - if not ident then - Logger:error("implement_fn was called but cursor was not on a function call", "cursor", request.cursor) - return nil - end + if not ident then + Logger:error("implement_fn was called but cursor was not on a function call", "cursor", request.cursor) + return nil + end Range:from_ts_node(ident, request.buffer) |
