Our great sponsors
-
community
Public feedback discussions for: GitHub Mobile, GitHub Discussions, GitHub Codespaces, GitHub Sponsors, GitHub Issues and more! (by community)
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
RE: neovim
Looks like the 20 file logic is present in neovim as well. I went through its code (https://github.com/github/copilot.vim/blob/release/copilot/d...) after beautifying it (https://codebeautify.org/jsviewer), and found it present.
I couldn't exactly trace it to a specific neovim event but I'm guessing it corresponds to buffer-update-events (https://neovim.io/doc/user/api.html#api-buffer-updates) or something like that.
Re: getting in trouble
I surely hope not :P. I mean, the code is basically public (available on every user's computer).
I stumbled upon this repo by accident a few days ago when its source code appeared to contain the only usage the term "GH_COPILOT_TOKEN" in any repo on Github:
https://github.com/search?q=GH_COPILOT_TOKEN&type=code
(My Copilot was broken and this was in the error output I was seeing, see: https://github.com/community/community/discussions/41878)
What I found there was some truly impressive reverse-engineering work by a single individual. I really like the "JOURNAL" daily-diary they kept of progress and random thoughts so you could see the progression day-by-day.
--------
One thing I found interesting: The author says that it queries only the 20 recently most opened files of the same language.
But in an AMA, I asked about how much "context" Copilot has available, and one of the devs says it can, for example, read header files that pair with C/C++ files that are open in separate tabs:
https://github.com/orgs/community/discussions/29932#discussi...
> "I assume Copilot uses the contents of the current project (IE, all files) as contextual information to offer suggestions. Is this the case?"