diff --git a/neorg/constants.py b/neorg/constants.py index 77e18da..0a645cb 100644 --- a/neorg/constants.py +++ b/neorg/constants.py @@ -38,15 +38,13 @@ class Guild: # Keys TOKEN: Optional[str] = os.getenv("TOKEN") SENTRY: Optional[str] = os.getenv("SENTRY_DSN") if USE_SENTRY else "" +CLIENT_ID: Optional[str] = os.getenv("CLIENT_ID") +CLIENT_SECRET: Optional[str] = os.getenv("CLIENT_SECRET") # paths BOT_DIR: Optional[str] = os.path.dirname(__file__) PROJECT_ROOT: Optional[str] -# bot error replies -ERROR_REPLIES: list[str] = [] -# Social_credit file -SOCIAL_CREDIT_FILE = os.path.join(BOT_DIR, "utils/database/user.json") PNP_DATABAS_FILE = os.path.join(BOT_DIR, "utils/database/database.json") # If someone says something good about this, their score will be reduced . @@ -55,3 +53,10 @@ class Guild: DATABASE_PATH = os.path.join(BOT_DIR, "fetch_info/data/") THIRD_PARTY_PATH = os.path.join(BOT_DIR, "fetch_info/third_party/") FETCH_INFO_PATH = os.path.join(BOT_DIR, "fetch_info/") + +# Database +DB_HOST = os.getenv("DB_HOST") +DB_PORT = os.getenv("DB_PORT") +DB_USER = os.getenv("DB_USER") +DB_PASSWORD = os.getenv("DB_PASSWORD") +DB_URL = os.getenv("DB_URI") diff --git a/neorg/ext/credit_system/norg_credit.py b/neorg/ext/credit_system/norg_credit.py deleted file mode 100644 index ceb08f3..0000000 --- a/neorg/ext/credit_system/norg_credit.py +++ /dev/null @@ -1,178 +0,0 @@ -import asyncio -import json - -import discord -from discord.ext.commands import Cog, Context, command - -from neorg import constants -from neorg.log import get_logger -from neorg.neorg import Neorg - -log = get_logger(__name__) - - -class NorgCredit(Cog): - """ Norg credit cog for public users.""" - - def __init__(self, bot: Neorg): - self.bot = bot - - @command() - async def register(self, ctx: Context) -> None: - """ - Register a user to the norg credit system. - User can only register once and cannot deregister :kek: - """ - with open(constants.SOCIAL_CREDIT_FILE, 'r') as f: - data = json.load(f) - - keys = data.keys() - log.info(keys) - if str(ctx.author.id) in keys: - await ctx.send("You are already registered.") - return - - data[ctx.author.id] = { - "norg_credit": 1000, # ammountj - "norg_credit_level": 1, # scalar value - "norg_credit_xp": 10, # xp - } - - with open(constants.SOCIAL_CREDIT_FILE, 'w') as f: - json.dump(data, f, indent=4) - - await ctx.send("You have been registered.") - - @command() - async def balance(self, ctx: Context, user: discord.Member = None) -> None: - """Get your norg credit balance.""" - with open(constants.SOCIAL_CREDIT_FILE, 'r') as f: - data = json.load(f) - - if user is None: - user = ctx.author - - if data[str(user.id)] is None: - log.info(f"{user.id} is not registered.") - await ctx.send("You are not registered.") - return - - # show all the information in a nice table - em = discord.Embed( - title="Norg Credit Balance", - description=f"{user.mention}'s norg credit balance is {data[str(user.id)]['norg_credit']}", - colour=discord.Colour.blue()) - for key, value in data[str(user.id)].items(): - em.add_field(name=key, value=value) - await ctx.send(embed=em) - - @command() - async def credit_help(self, ctx: Context) -> None: - """ - Get information on how to get norg credit. - """ - reply = "You can get credit by doing the following:\n" - reply += "1. Register with `n.register`\n" - reply += "2. Do `n.help` to get information on how to get norg credit\n" - reply += "4. Just Keep talking in the server and you will get credit!\n" - reply += "5. Your Credit Level is a multiplier, it will grow the longer you stay in the server\n" - reply += "6. You can check your balance with `n.balance`\n" - reply += "7. If you like java, you will get instant -10000 score :)\n" - await ctx.send(embed=discord.Embed(title="Norg Credit Help", description=reply, colour=discord.Colour.purple())) - - @command(aliases=['lb', 'top']) - async def leaderboard(self, ctx: Context) -> None: - """ - Get the norg credit leaderboard. - """ - with open(constants.SOCIAL_CREDIT_FILE, 'r') as f: - data = json.load(f) - - data = sorted(data.items(), key=lambda x: x[1]['norg_credit'], reverse=True) - reply = discord.Embed(title="Norg Credit Leaderboard", colour=discord.Colour.blue()) - for i in range(0, len(data)): - reply.add_field( - name=f"{i+1}. {self.bot.get_user(int(data[i][0])).name}", value=data[i][1]['norg_credit'], inline=False) - await ctx.send(embed=reply) - - @command() - async def praise(self, ctx: Context, user: discord.Member) -> None: - """Praise another user""" - - with open(constants.SOCIAL_CREDIT_FILE, 'r') as f: - data = json.load(f) - - if data[str(ctx.author.id)] is None or data[str(user.id)] is None: - log.info(f"{ctx.author.id} is not registered.") - await ctx.send("You are not registered.") - return - - if str(ctx.author.id) == str(user.id): - await ctx.send("You cannot praise yourself.") - return - - # ask how much credit to give - await ctx.send(f"How much norg credit do you want to give to {user.name}?") - - def check(msg: discord.Message) -> bool: - """Check if message is a valid number.""" - return msg.author == ctx.author and msg.channel == ctx.channel and msg.content.isdigit() - - try: - msg = await self.bot.wait_for('message', check=check, timeout=10) - except asyncio.TimeoutError: - return - - msg = int(msg.content) - - if msg <= 0: - await ctx.send("Please enter a positive number.") - return - - # check if user has enough credit - if msg > data[str(ctx.author.id)]['norg_credit']: - await ctx.send("You do not have enough norg credit.") - return - - # give credit to user - data[str(ctx.author.id)]['norg_credit'] -= msg - data[str(user.id)]['norg_credit'] += msg - - with open(constants.SOCIAL_CREDIT_FILE, 'w') as f: - json.dump(data, f, indent=4) - - await ctx.send(f"You have given {msg} norg credit to {user.name}.") - - @Cog.listener() - async def on_message(self, message: discord.Message) -> None: - """The longer a user is in the server the higher their credit xp will be. """ - - with open(constants.SOCIAL_CREDIT_FILE, 'r') as f: - data = json.load(f) - - if message.author.bot or str(message.author.id) not in data.keys(): - return - - # lol fuck it, if you talk about java even if you say its shit, it will reduce 1 :kekw: - if any(word in message.content.lower() for word in constants.NEGATIVE_WORDS): - data[str(message.author.id)]['norg_credit_xp'] -= 100 - - # increase xp and level and credit based on how much the user tpes in the server - data[str(message.author.id)]['norg_credit_xp'] += data[str(message.author.id)]['norg_credit_level'] - data[str(message.author.id)]['norg_credit'] += data[str(message.author.id)]['norg_credit_level'] - - # you level up ever 10,000 xp - # every time they level up, increase credit_level by 1 you level up when credit is divisable by 10,000 - if data[str(message.author.id)]['norg_credit'] % 10000 == 0: - data[str(message.author.id)]['norg_credit_level'] += 1 - await message.channel.send( - f"{message.author.mention} has leveled up to level {data[str(message.author.id)]['norg_credit_level']}!" - ) - - with open(constants.SOCIAL_CREDIT_FILE, 'w') as f: - json.dump(data, f, indent=4) - - -def setup(bot: Neorg) -> None: - """Add Cog to Bot.""" - bot.add_cog(NorgCredit(bot)) diff --git a/neorg/ext/credit_system/norg_credit_moderation.py b/neorg/ext/credit_system/norg_credit_moderation.py deleted file mode 100644 index c40a26f..0000000 --- a/neorg/ext/credit_system/norg_credit_moderation.py +++ /dev/null @@ -1,152 +0,0 @@ -import json - -import discord -# yapf: disable -from discord.ext.commands import ( - BadArgument, CheckFailure, Cog, CommandNotFound, Context, MissingRequiredArgument, command, has_any_role -) -# yapf: enable -from icecream import ic - -from neorg import constants -from neorg.log import get_logger -from neorg.neorg import Neorg - -log = get_logger(__name__) - - -class NeorgCreditMod(Cog): - """Mod tools to manage the credit system.""" - - def __init__(self, bot: Neorg): - self.bot: Neorg = bot - - async def cog_check(self, ctx: Context) -> bool: - """Only allow moderators to invoke the commands in this cog.""" - return await has_any_role(*constants.MODERATION_ROLES).predicate(ctx) - - async def cog_command_error(self, ctx: Context, error: Exception) -> None: - """Cog Role error, if not mod or admin, output will output and error.""" - error_dict = { - CommandNotFound: "Command not found.", - CheckFailure: "You do not have permission to run this command.", - MissingRequiredArgument: "You are missing a required argument.", - BadArgument: "You have provided an invalid argument.", - } - - for error_type, error_message in error_dict.items(): - if isinstance(error, error_type): - await ctx.send(embed=discord.Embed(description=error_message, colour=discord.Color.red())) - - log.warning(ic.format(f"{ctx.author} tried to run {ctx.command} but got {error}")) - - @command() - async def add_credit(self, ctx: Context, user: discord.Member, amount: int) -> None: - """Add credits to a user.""" - await ctx.send(embed=discord.Embed(description=f"{user} has been given {amount} credits.")) - - with open(constants.SOCIAL_CREDIT_FILE, "r") as f: - social_credits = json.load(f) - - social_credits[str(user.id)]["norg_credit"] += amount - - with open(constants.SOCIAL_CREDIT_FILE, "w") as f: - json.dump(social_credits, f) - - @command() - async def remove_credit(self, ctx: Context, user: discord.Member, amount: int) -> None: - """Remove credits from a user.""" - - with open(constants.SOCIAL_CREDIT_FILE, "r") as f: - social_credits = json.load(f) - - social_credits[str(user.id)]["norg_credit"] -= amount - - with open(constants.SOCIAL_CREDIT_FILE, "w") as f: - json.dump(social_credits, f) - - await ctx.send(embed=discord.Embed(description=f"{user} has been taken {amount} credits.")) - - @command() - async def set_credit(self, ctx: Context, user: discord.Member, amount: int) -> None: - """Set credits to a user.""" - - with open(constants.SOCIAL_CREDIT_FILE, "r") as f: - social_credits = json.load(f) - - social_credits[str(user.id)]["norg_credit"] = amount - - with open(constants.SOCIAL_CREDIT_FILE, "w") as f: - json.dump(social_credits, f) - - await ctx.send(embed=discord.Embed(description=f"{user.display_name} has been given {amount} credits.")) - - @command() - async def change_all(self, ctx: Context, user: discord.Member) -> None: - """Changes norg_credit, norg_credit_level and norg_credit_xp.""" - - with open(constants.SOCIAL_CREDIT_FILE, "r") as f: - social_credits = json.load(f) - - await ctx.send(f"how much norg credit do you want to change, enter N to keep the same for {user.name}") - norg_credit = await ctx.bot.wait_for("message", check=lambda m: m.author == ctx.author) - if norg_credit.content == "N": - norg_credit = social_credits[user.id]["norg_credit"] - else: - norg_credit = int(norg_credit.content) - - await ctx.send(f"How much do you want to change the xp to, enter N to keep the same for {user.name}") - - norg_credit_xp = await ctx.bot.wait_for("message", check=lambda m: m.author == ctx.author) - if norg_credit_xp.content == "N": - norg_credit_xp = social_credits[user.id]["norg_credit_xp"] - else: - norg_credit_xp = int(norg_credit_xp.content) - - await ctx.send(f"How much do you want to change the level to, enter N to keep the same for {user.name}") - - norg_credit_level = await ctx.bot.wait_for("message", check=lambda m: m.author == ctx.author) - if norg_credit_level.content == "N": - norg_credit_level = social_credits[user.id]["norg_credit_level"] - else: - norg_credit_level = int(norg_credit_level.content) - - social_credits[user.id]["norg_credit"] = norg_credit - social_credits[user.id]["norg_credit_xp"] = norg_credit_xp - social_credits[user.id]["norg_credit_level"] = norg_credit_level - - with open(constants.SOCIAL_CREDIT_FILE, "w") as f: - json.dump(social_credits, f) - - @command() - async def set_xp(self, ctx: Context, user: discord.Member, amount: int) -> None: - """Set xp to a user.""" - - with open(constants.SOCIAL_CREDIT_FILE, "r") as f: - social_credits = json.load(f) - - social_credits[str(user.id)]["norg_credit_xp"] = amount - - with open(constants.SOCIAL_CREDIT_FILE, "w") as f: - json.dump(social_credits, f) - - await ctx.send(embed=discord.Embed(description=f"{user.display_name} has been given {amount} xp.")) - - @command() - async def set_level(self, ctx: Context, user: discord.Member, amount: int) -> None: - """Set level to a user.""" - - with open(constants.SOCIAL_CREDIT_FILE, "r") as f: - social_credits = json.load(f) - - social_credits[str(user.id)]["norg_credit_level"] = amount - - with open(constants.SOCIAL_CREDIT_FILE, "w") as f: - json.dump(social_credits, f) - - await ctx.send(embed=discord.Embed(description=f"{user.display_name} has been given {amount} level.")) - - -def setup(bot: Neorg) -> None: - """Load the cog.""" - bot.add_cog(NeorgCreditMod(bot)) diff --git a/neorg/fetch_info/data/tags.db b/neorg/fetch_info/data/tags.db index 276cdb5..5c4bfd8 100644 Binary files a/neorg/fetch_info/data/tags.db and b/neorg/fetch_info/data/tags.db differ diff --git a/neorg/ext/credit_system/__init__.py b/neorg/fetch_info/neovim_pr/__init__.py similarity index 100% rename from neorg/ext/credit_system/__init__.py rename to neorg/fetch_info/neovim_pr/__init__.py diff --git a/neorg/fetch_info/neovim_pr/async_version.py b/neorg/fetch_info/neovim_pr/async_version.py new file mode 100644 index 0000000..a38b149 --- /dev/null +++ b/neorg/fetch_info/neovim_pr/async_version.py @@ -0,0 +1,147 @@ +import asyncio +import functools +import itertools as it +import json +from collections import defaultdict + +import psycopg2 +import psycopg2.extras +import requests +from icecream import ic + +from neorg import constants +from neorg.fetch_info.neovim_pr.model import DictPRRequestModel, PRRequestModel +from neorg.log import get_logger + +# from joblib import Parallel, delayed + +log = get_logger(__name__) + + +def get_or_create_eventloop() -> asyncio: + """ + Gets the current asyncio event loop, and only creats one within the main thread. + + Returns + ------- + asyncio + The current created asycnio event loop + """ + try: + return asyncio.get_event_loop() + except RuntimeError as error: + if "There is no current event loop in thread" in (er := (str(error))): + log.info(f"Creating an event loop based on {er}") + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + return asyncio.get_event_loop() + + +class GetNeovimPR: + """Temp documentation.""" + + def __init__(self, user: str = "neovim"): + self.user = user + self.user_fmt = ic.format(self.user) + self.base_url = "https://api.github.com/repos/neovim/neovim/pulls?state=open&per_page=100" + self.client_id = constants.CLIENT_ID + self.client_secret = constants.CLIENT_SECRET + self.batch_size = 10 + + if not self.client_id or not self.client_secret: + log.info("Client id or client secret is None, api will fail.") + return + + def load_pr_results(self) -> PRRequestModel: + """Load pr results / requests through batches of 10: this is a request to the page it self + + Returns + ------- + PRRequestModel + Pydantic Base model + """ + log.debug(f"Querying for pull request {self.user_fmt}, page -> 100") + # log.info(self.base_url + str(page)) + response = requests.get(self.base_url, auth=(self.client_id, self.client_secret)) + if response.status_code != 200: + log.critical(f"Bad request {response.status_code}") + return PRRequestModel(response=response.json()) + + async def get_pages(self) -> DictPRRequestModel: + """ + get all pages from neovim source pr, this will grab, 10 pages at a time, till no pages are found. + Returns + ------- + response : PRRequestModel + """ + loop = get_or_create_eventloop() + results = {} + finished = False + while not finished: + temp = await asyncio.gather(*[loop.run_in_executor(None, functools.partial(self.load_pr_results),)]) + val = it.chain(*[value.response for value in temp]) + valid = defaultdict(list) + for item in val: + valid[item.number].append(item) + temp = DictPRRequestModel(response=valid) + log.info(len(temp.response)) + # log.info(value := (temp.response)) + if len(temp.response) == 100: + log.info("finished batch jobs") + finished = True + results.update(temp.response) + return DictPRRequestModel(response=results) + + def make_jobs(self, base: DictPRRequestModel) -> None: + """ + Make Jobs : given response list, generate jobs, this will allow us to extract_data at the same time + This function will iterate through the response list, and for each given response, creates file container + recent prs: Edge cases can be modular + + Parameters + ---------- + base : PRRequestModel + PRRequestModel : Pydantic Model + """ + with open("test_file.json", "w") as f: + json.dump(base.dict(), f, indent=4, sort_keys=True, default=str) + + def startup(self) -> asyncio: + """Inital startup to fetch data using github api""" + loop = get_or_create_eventloop() # noqa: ignore + log.info(f"Creting event loop for {self.user_fmt}") + base = asyncio.run(self.get_pages()) + self.make_jobs(base) + + return base + + +class NeovimPrUserDatabase: + """Neovim PR User Database""" + + def __init__(self): + self.curr = self.connect_db() + + def connect_db(self) -> psycopg2: + """ + Create a database connection and return a cursor. + """ + database_url = constants.DB_URL + curr = psycopg2.connect(database_url, sslmode='require') + curr.autocommit = True + return curr.cursor() + + def create_neovim_database(self) -> None: + """ + Create a database connection and return a cursor. + """ + database_url = constants.DB_URL + curr = psycopg2.connect(database_url, sslmode='require') + curr.autocommit = True + self.curr.execute("CREATE TABLE IF NOT EXISTS neovim_pr (discord_id TEXT, pr_id TEXT)") + + def insert_pr(self, discord_id: str, pr_id: str) -> None: + """ + Insert a pr into the database + """ + self.curr.execute("INSERT INTO neovim_pr (discord_id, pr_id) VALUES (%s, %s)", (discord_id, pr_id)) diff --git a/neorg/fetch_info/neovim_pr/focus.norg b/neorg/fetch_info/neovim_pr/focus.norg new file mode 100644 index 0000000..3c83db4 --- /dev/null +++ b/neorg/fetch_info/neovim_pr/focus.norg @@ -0,0 +1,14 @@ +@document.meta +title: focus +description: +authors: viv +categories: +created: 2022-07-11 +version: 0.0.11 +@end +* TODO +** Possible Methods + - Use github api + [Python api link](https://github.com/gitpython-developers/GitPython) + - Using requests and beautiful soup - this can use something similar to how pnp db is used - this would require + another request handler -> new github app. diff --git a/neorg/fetch_info/neovim_pr/model.py b/neorg/fetch_info/neovim_pr/model.py new file mode 100644 index 0000000..6dc0a9e --- /dev/null +++ b/neorg/fetch_info/neovim_pr/model.py @@ -0,0 +1,45 @@ +from datetime import datetime +from typing import Any, List, Optional + +from pydantic import BaseModel + + +def get_pr_number(pr: str) -> str: + """Get pr number""" + return pr.split("/")[-1] + + +class ID(BaseModel): + """Temp documentation""" + number: Optional[int] = None + + +class PRRequestModelItem(BaseModel): + """Temp documentation.""" + number: Optional[int] = None + title: Optional[str] = None + url: Optional[str] = None + id: Optional[int] = None + node_id: Optional[str] = None + html_url: Optional[str] = None + diff_url: Optional[str] = None + patch_url: Optional[str] = None + issues_url: Optional[Any] = None + state: Optional[str] = None + locked: Optional[bool] + created_at: Optional[datetime] = None + updated_at: Optional[datetime] = None + closed_at: Optional[datetime] = None + merged_at: Optional[datetime] = None + merge_commit_sha: Optional[str] = None + + +class PRRequestModel(BaseModel): + """Temp documentation.""" + total_count: Optional[int] = None + response: List[PRRequestModelItem] + + +class DictPRRequestModel(BaseModel): + """Temp documentation.""" + response: dict[int, List[PRRequestModelItem]] = None diff --git a/neorg/fetch_info/neovim_pr/neovim_merge.py b/neorg/fetch_info/neovim_pr/neovim_merge.py new file mode 100644 index 0000000..2e80444 --- /dev/null +++ b/neorg/fetch_info/neovim_pr/neovim_merge.py @@ -0,0 +1,40 @@ +#!/usr/bin/python3 + +# import json + +import requests + +from neorg.constants import CLIENT_ID, CLIENT_SECRET +from neorg.log import get_logger + +log = get_logger(__name__) + + +def get_open_pullrequests() -> str: + """Temp documentation.""" + url = "https://api.github.com/repos/neovim/neovim/pulls?state=open&per_page=100" + r = requests.get(url, auth=(CLIENT_ID, CLIENT_SECRET)) + r.raise_for_status() + + def get_pr_number(pr: str) -> str: + """Get pr number""" + + return pr.split("/")[-1] + + # data = r.json() + # with open("test_file.json", "w") as r: + # json.dump(data, r, indent=4, sort_keys=True) + # + # prs = sorted(({ + # "pr_number": get_pr_number(pull["html_url"]), + # "html_url": pull["html_url"], + # "title": pull["title"] + # } for pull in r.json()), + # # key=lambda x: get_pr_number(x["html_url"]), + # ) + # log.info(prs) + + +if __name__ == "__main__": + pull_requests = get_open_pullrequests() + log.info(pull_requests) diff --git a/neorg/fetch_info/neovim_pr/playground.py b/neorg/fetch_info/neovim_pr/playground.py new file mode 100644 index 0000000..acf0cfd --- /dev/null +++ b/neorg/fetch_info/neovim_pr/playground.py @@ -0,0 +1,24 @@ +import requests + +from neorg.constants import CLIENT_ID, CLIENT_SECRET +from neorg.log import get_logger + +log = get_logger(__name__) + +# check if pr is merged + + +def check_pr_merged(pr_number: int = 19306) -> None: + """Test playground to check prs have been merged using api""" + + # Check if this Pr is merged using requests + # repo = 'neovim/neovim' + repo = 'neovim/neovim' + url = f'https://api.github.com/repos/{repo}/pulls/{pr_number}' + + response = requests.get(url, auth=(CLIENT_ID, CLIENT_SECRET)) + + return response.json()['merged_at'] + + +log.info(check_pr_merged()) diff --git a/neorg/fetch_info/neovim_pr/test_file.json b/neorg/fetch_info/neovim_pr/test_file.json new file mode 100644 index 0000000..fbfabee --- /dev/null +++ b/neorg/fetch_info/neovim_pr/test_file.json @@ -0,0 +1,2004 @@ +{ + "response": { + "16826": [ + { + "closed_at": null, + "created_at": "2021-12-29 14:00:49+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/16826.diff", + "html_url": "https://github.com/neovim/neovim/pull/16826", + "id": 811497803, + "issues_url": null, + "locked": false, + "merge_commit_sha": "88cd629a737fac1e1d52f452660c37d8412b9668", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4wXnlL", + "number": 16826, + "patch_url": "https://github.com/neovim/neovim/pull/16826.patch", + "state": "open", + "title": "fix(tutor): Allow duplicate tutor loading", + "updated_at": "2021-12-29 14:12:32+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/16826" + } + ], + "16929": [ + { + "closed_at": null, + "created_at": "2022-01-04 23:59:01+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/16929.diff", + "html_url": "https://github.com/neovim/neovim/pull/16929", + "id": 814282825, + "issues_url": null, + "locked": false, + "merge_commit_sha": "293a9ebbb459a5a4ef66c79cc92670ac935e33c0", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4wiPhJ", + "number": 16929, + "patch_url": "https://github.com/neovim/neovim/pull/16929.patch", + "state": "open", + "title": "[RFC] Call CursorHold events even if events are available", + "updated_at": "2022-03-30 01:21:43+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/16929" + } + ], + "16989": [ + { + "closed_at": null, + "created_at": "2022-01-08 02:28:56+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/16989.diff", + "html_url": "https://github.com/neovim/neovim/pull/16989", + "id": 816779276, + "issues_url": null, + "locked": false, + "merge_commit_sha": "f970f3b212856abdb984aa83cd781df76836d8c5", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4wrxAM", + "number": 16989, + "patch_url": "https://github.com/neovim/neovim/pull/16989.patch", + "state": "open", + "title": "feat(autochdir): extract CWD from term:// URI", + "updated_at": "2022-02-05 21:06:49+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/16989" + } + ], + "16990": [ + { + "closed_at": null, + "created_at": "2022-01-08 02:42:24+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/16990.diff", + "html_url": "https://github.com/neovim/neovim/pull/16990", + "id": 816781081, + "issues_url": null, + "locked": false, + "merge_commit_sha": "e337a8ce2f3d0ca8e567187ccf4bdb26f86fb492", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4wrxcZ", + "number": 16990, + "patch_url": "https://github.com/neovim/neovim/pull/16990.patch", + "state": "open", + "title": "Allow nvim -es to be used interactively with a TTY", + "updated_at": "2022-05-27 19:56:51+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/16990" + } + ], + "17099": [ + { + "closed_at": null, + "created_at": "2022-01-15 11:10:21+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17099.diff", + "html_url": "https://github.com/neovim/neovim/pull/17099", + "id": 823608831, + "issues_url": null, + "locked": false, + "merge_commit_sha": "8622267d3ec7156bcc9ca46c83248d2d38ef2c78", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4xF0X_", + "number": 17099, + "patch_url": "https://github.com/neovim/neovim/pull/17099.patch", + "state": "open", + "title": "Change api for Query:iter_matches()", + "updated_at": "2022-07-13 09:09:27+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17099" + } + ], + "17117": [ + { + "closed_at": null, + "created_at": "2022-01-16 17:27:33+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17117.diff", + "html_url": "https://github.com/neovim/neovim/pull/17117", + "id": 823952815, + "issues_url": null, + "locked": false, + "merge_commit_sha": "8e8a96deda0cb8cbb2638db4d86bfdeee8e803d4", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4xHIWv", + "number": 17117, + "patch_url": "https://github.com/neovim/neovim/pull/17117.patch", + "state": "open", + "title": "Use weak tables in tree-sitter code", + "updated_at": "2022-04-02 18:06:51+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17117" + } + ], + "17127": [ + { + "closed_at": null, + "created_at": "2022-01-17 20:28:52+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17127.diff", + "html_url": "https://github.com/neovim/neovim/pull/17127", + "id": 824918701, + "issues_url": null, + "locked": false, + "merge_commit_sha": "8ba40dfc6414b99c956b09e3ff77bc88c90b8033", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4xK0Kt", + "number": 17127, + "patch_url": "https://github.com/neovim/neovim/pull/17127.patch", + "state": "open", + "title": "tree-sitter: injection language base on filetype.lua", + "updated_at": "2022-06-23 21:41:40+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17127" + } + ], + "17197": [ + { + "closed_at": null, + "created_at": "2022-01-25 23:57:30+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17197.diff", + "html_url": "https://github.com/neovim/neovim/pull/17197", + "id": 831967435, + "issues_url": null, + "locked": false, + "merge_commit_sha": "c6490a9835f4bc3f30fd4f04ec06ef3ffde271b3", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4xltDL", + "number": 17197, + "patch_url": "https://github.com/neovim/neovim/pull/17197.patch", + "state": "open", + "title": "feat(terminal): respond to OSC background and foreground request", + "updated_at": "2022-05-19 15:19:30+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17197" + } + ], + "17218": [ + { + "closed_at": null, + "created_at": "2022-01-28 09:35:37+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17218.diff", + "html_url": "https://github.com/neovim/neovim/pull/17218", + "id": 834260979, + "issues_url": null, + "locked": false, + "merge_commit_sha": "ee6761f5054a6179e21086e5ec698dfe79b1b5b9", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4xuc_z", + "number": 17218, + "patch_url": "https://github.com/neovim/neovim/pull/17218.patch", + "state": "open", + "title": "refactor(lsp): move completion logic into a completion module", + "updated_at": "2022-06-27 21:32:15+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17218" + } + ], + "17329": [ + { + "closed_at": null, + "created_at": "2022-02-08 08:12:27+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17329.diff", + "html_url": "https://github.com/neovim/neovim/pull/17329", + "id": 842523537, + "issues_url": null, + "locked": false, + "merge_commit_sha": "2f4926a2074a34e6e5c794c214d20781935aa1bf", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4yN-OR", + "number": 17329, + "patch_url": "https://github.com/neovim/neovim/pull/17329.patch", + "state": "open", + "title": "Test experimental reflow branch of libvterm", + "updated_at": "2022-05-16 09:12:46+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17329" + } + ], + "17336": [ + { + "closed_at": null, + "created_at": "2022-02-08 19:13:05+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17336.diff", + "html_url": "https://github.com/neovim/neovim/pull/17336", + "id": 843156231, + "issues_url": null, + "locked": false, + "merge_commit_sha": "a08147e52cfd28f08d55d9627a3b3b7e86839792", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4yQYsH", + "number": 17336, + "patch_url": "https://github.com/neovim/neovim/pull/17336.patch", + "state": "open", + "title": "[WIP] winbar", + "updated_at": "2022-05-25 00:56:49+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17336" + } + ], + "17398": [ + { + "closed_at": null, + "created_at": "2022-02-13 21:50:26+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17398.diff", + "html_url": "https://github.com/neovim/neovim/pull/17398", + "id": 851325885, + "issues_url": null, + "locked": false, + "merge_commit_sha": "867f4093c1f395c4884bedf4da45f04e0d04228a", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4yvjO9", + "number": 17398, + "patch_url": "https://github.com/neovim/neovim/pull/17398.patch", + "state": "open", + "title": "feat: fine-grained control over diff chunks (#17210)", + "updated_at": "2022-02-28 21:17:45+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17398" + } + ], + "17446": [ + { + "closed_at": null, + "created_at": "2022-02-17 20:59:23+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17446.diff", + "html_url": "https://github.com/neovim/neovim/pull/17446", + "id": 855948088, + "issues_url": null, + "locked": false, + "merge_commit_sha": "c6664db60492494ad72e2e82a705ecb63207483d", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4zBLs4", + "number": 17446, + "patch_url": "https://github.com/neovim/neovim/pull/17446.patch", + "state": "open", + "title": "feat(folds): add 'foldoptions' option", + "updated_at": "2022-07-15 17:49:54+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17446" + } + ], + "17536": [ + { + "closed_at": null, + "created_at": "2022-02-27 05:07:55+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17536.diff", + "html_url": "https://github.com/neovim/neovim/pull/17536", + "id": 865665865, + "issues_url": null, + "locked": false, + "merge_commit_sha": "6f6c1ed9e7cace2d633454381bb290534af79777", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4zmQNJ", + "number": 17536, + "patch_url": "https://github.com/neovim/neovim/pull/17536.patch", + "state": "open", + "title": "vim-patch:8.2.{0188,4463,4465}: fuzzy command line completion", + "updated_at": "2022-03-09 01:12:03+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17536" + } + ], + "17537": [ + { + "closed_at": null, + "created_at": "2022-02-27 10:05:58+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17537.diff", + "html_url": "https://github.com/neovim/neovim/pull/17537", + "id": 865959838, + "issues_url": null, + "locked": false, + "merge_commit_sha": "e5c9eea22540103372c624e4ae56dd17e6334ce9", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4znX-e", + "number": 17537, + "patch_url": "https://github.com/neovim/neovim/pull/17537.patch", + "state": "open", + "title": " [WIP] feat(lua): nvim-lua interpreter mode (for lua co-processes, etc etc)", + "updated_at": "2022-03-11 17:09:11+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17537" + } + ], + "17543": [ + { + "closed_at": null, + "created_at": "2022-02-27 19:16:40+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17543.diff", + "html_url": "https://github.com/neovim/neovim/pull/17543", + "id": 866155597, + "issues_url": null, + "locked": false, + "merge_commit_sha": "a69825086eb89bf5b0502d839479fc4aa44b9187", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4zoHxN", + "number": 17543, + "patch_url": "https://github.com/neovim/neovim/pull/17543.patch", + "state": "open", + "title": "Open with quick fix from stdin - a first attempt.", + "updated_at": "2022-02-28 08:49:37+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17543" + } + ], + "17633": [ + { + "closed_at": null, + "created_at": "2022-03-07 01:54:32+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17633.diff", + "html_url": "https://github.com/neovim/neovim/pull/17633", + "id": 872612603, + "issues_url": null, + "locked": false, + "merge_commit_sha": "121a9e3c446d8276ed164cd39c58cddaaeafc965", + "merged_at": null, + "node_id": "PR_kwDOAPphoM40AwL7", + "number": 17633, + "patch_url": "https://github.com/neovim/neovim/pull/17633.patch", + "state": "open", + "title": "chore(treesitter): show filetype associated with parser", + "updated_at": "2022-04-03 11:59:19+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17633" + } + ], + "17736": [ + { + "closed_at": null, + "created_at": "2022-03-15 20:44:26+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17736.diff", + "html_url": "https://github.com/neovim/neovim/pull/17736", + "id": 880676757, + "issues_url": null, + "locked": false, + "merge_commit_sha": "ba12649ac2e8d42c9d085dea7300c020fa4ac2b2", + "merged_at": null, + "node_id": "PR_kwDOAPphoM40fg-V", + "number": 17736, + "patch_url": "https://github.com/neovim/neovim/pull/17736.patch", + "state": "open", + "title": "fix(mouse): check that mouse support is enabled for visual mode", + "updated_at": "2022-05-23 14:06:03+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17736" + } + ], + "17802": [ + { + "closed_at": null, + "created_at": "2022-03-21 12:49:05+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17802.diff", + "html_url": "https://github.com/neovim/neovim/pull/17802", + "id": 884790616, + "issues_url": null, + "locked": false, + "merge_commit_sha": "7e29a07a0ece733e29c832c79f252265439abeba", + "merged_at": null, + "node_id": "PR_kwDOAPphoM40vNVY", + "number": 17802, + "patch_url": "https://github.com/neovim/neovim/pull/17802.patch", + "state": "open", + "title": "Draft: feat(query): support setting a parsed query", + "updated_at": "2022-03-30 17:10:18+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17802" + } + ], + "17856": [ + { + "closed_at": null, + "created_at": "2022-03-25 18:55:19+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17856.diff", + "html_url": "https://github.com/neovim/neovim/pull/17856", + "id": 889790437, + "issues_url": null, + "locked": false, + "merge_commit_sha": "abc62bf0b0a6ca77c4c34ecb29977aea64edba72", + "merged_at": null, + "node_id": "PR_kwDOAPphoM41CR_l", + "number": 17856, + "patch_url": "https://github.com/neovim/neovim/pull/17856.patch", + "state": "open", + "title": "feat(remote): add wait subcommands", + "updated_at": "2022-05-04 14:25:31+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17856" + } + ], + "17894": [ + { + "closed_at": null, + "created_at": "2022-03-28 06:00:46+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17894.diff", + "html_url": "https://github.com/neovim/neovim/pull/17894", + "id": 891368649, + "issues_url": null, + "locked": false, + "merge_commit_sha": "6b5196ba2525171e107e8a675f217c5be03d1d24", + "merged_at": null, + "node_id": "PR_kwDOAPphoM41ITTJ", + "number": 17894, + "patch_url": "https://github.com/neovim/neovim/pull/17894.patch", + "state": "open", + "title": "Refactoring buf_do_map()", + "updated_at": "2022-04-02 12:05:02+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17894" + } + ], + "17950": [ + { + "closed_at": null, + "created_at": "2022-04-01 10:36:58+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17950.diff", + "html_url": "https://github.com/neovim/neovim/pull/17950", + "id": 897225439, + "issues_url": null, + "locked": false, + "merge_commit_sha": "3875dfeba29d33e0f807e28291a8c4f9fa9f34fb", + "merged_at": null, + "node_id": "PR_kwDOAPphoM41epLf", + "number": 17950, + "patch_url": "https://github.com/neovim/neovim/pull/17950.patch", + "state": "open", + "title": "vim-patch:8.2.{4029,4093,4100}: breakindent patches", + "updated_at": "2022-04-01 10:38:36+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17950" + } + ], + "17976": [ + { + "closed_at": null, + "created_at": "2022-04-03 00:09:55+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17976.diff", + "html_url": "https://github.com/neovim/neovim/pull/17976", + "id": 898164935, + "issues_url": null, + "locked": false, + "merge_commit_sha": "bf2b6824993d84540a3473b3781f95d37adb320d", + "merged_at": null, + "node_id": "PR_kwDOAPphoM41iOjH", + "number": 17976, + "patch_url": "https://github.com/neovim/neovim/pull/17976.patch", + "state": "open", + "title": "feat(lsp): add before_init_async field to lsp client", + "updated_at": "2022-05-19 01:33:41+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17976" + } + ], + "17984": [ + { + "closed_at": null, + "created_at": "2022-04-03 12:54:40+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/17984.diff", + "html_url": "https://github.com/neovim/neovim/pull/17984", + "id": 898283728, + "issues_url": null, + "locked": false, + "merge_commit_sha": "a5212fa1e0c5759a5ac6fffcc8717f68283108ec", + "merged_at": null, + "node_id": "PR_kwDOAPphoM41irjQ", + "number": 17984, + "patch_url": "https://github.com/neovim/neovim/pull/17984.patch", + "state": "open", + "title": "feat(treesitter): use better error messages in query", + "updated_at": "2022-04-03 12:59:41+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/17984" + } + ], + "18049": [ + { + "closed_at": null, + "created_at": "2022-04-09 06:13:48+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18049.diff", + "html_url": "https://github.com/neovim/neovim/pull/18049", + "id": 904644539, + "issues_url": null, + "locked": false, + "merge_commit_sha": "2c12466e60525cd3cd852af63dcb7d0875a93e0b", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4168e7", + "number": 18049, + "patch_url": "https://github.com/neovim/neovim/pull/18049.patch", + "state": "open", + "title": "feat(QuitPre): allow aborting window closure with v:event.abort_close", + "updated_at": "2022-04-11 17:39:36+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18049" + } + ], + "18096": [ + { + "closed_at": null, + "created_at": "2022-04-12 22:22:00+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18096.diff", + "html_url": "https://github.com/neovim/neovim/pull/18096", + "id": 908224509, + "issues_url": null, + "locked": false, + "merge_commit_sha": "925294ca2f7ed3578ad5b10287fdfd3a37396d7e", + "merged_at": null, + "node_id": "PR_kwDOAPphoM42Imf9", + "number": 18096, + "patch_url": "https://github.com/neovim/neovim/pull/18096.patch", + "state": "open", + "title": "feat(api): add nvim_(set|get)_cmdline", + "updated_at": "2022-04-25 01:21:57+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18096" + } + ], + "18109": [ + { + "closed_at": null, + "created_at": "2022-04-14 12:24:01+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18109.diff", + "html_url": "https://github.com/neovim/neovim/pull/18109", + "id": 909907547, + "issues_url": null, + "locked": false, + "merge_commit_sha": "d6f9d2b91e49f0bec508a35aa6d547e1d7db7099", + "merged_at": null, + "node_id": "PR_kwDOAPphoM42PBZb", + "number": 18109, + "patch_url": "https://github.com/neovim/neovim/pull/18109.patch", + "state": "open", + "title": "refactor(treesitter): rely more on ts correctness", + "updated_at": "2022-06-17 07:02:44+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18109" + } + ], + "18130": [ + { + "closed_at": null, + "created_at": "2022-04-16 04:07:12+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18130.diff", + "html_url": "https://github.com/neovim/neovim/pull/18130", + "id": 911196469, + "issues_url": null, + "locked": false, + "merge_commit_sha": "d8e989926669597fe87a4a00faa94fd0dddc5de6", + "merged_at": null, + "node_id": "PR_kwDOAPphoM42T8E1", + "number": 18130, + "patch_url": "https://github.com/neovim/neovim/pull/18130.patch", + "state": "open", + "title": "Enable hyperlinks in TUI (OSC-8)", + "updated_at": "2022-04-24 11:41:59+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18130" + } + ], + "18161": [ + { + "closed_at": null, + "created_at": "2022-04-18 13:59:49+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18161.diff", + "html_url": "https://github.com/neovim/neovim/pull/18161", + "id": 912063852, + "issues_url": null, + "locked": false, + "merge_commit_sha": "54e910cf13831521ab7e56e52f814c1f1d1ce1a9", + "merged_at": null, + "node_id": "PR_kwDOAPphoM42XP1s", + "number": 18161, + "patch_url": "https://github.com/neovim/neovim/pull/18161.patch", + "state": "open", + "title": "feat(ui): add vim.ui.select_many", + "updated_at": "2022-04-30 14:45:00+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18161" + } + ], + "18232": [ + { + "closed_at": null, + "created_at": "2022-04-23 09:55:18+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18232.diff", + "html_url": "https://github.com/neovim/neovim/pull/18232", + "id": 917169761, + "issues_url": null, + "locked": false, + "merge_commit_sha": "17e31107281df67836e73c8bb39661ecb7320282", + "merged_at": null, + "node_id": "PR_kwDOAPphoM42quZh", + "number": 18232, + "patch_url": "https://github.com/neovim/neovim/pull/18232.patch", + "state": "open", + "title": "Upstream nvim-treesitter utils to Neovim", + "updated_at": "2022-07-15 18:19:00+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18232" + } + ], + "18233": [ + { + "closed_at": null, + "created_at": "2022-04-23 10:16:09+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18233.diff", + "html_url": "https://github.com/neovim/neovim/pull/18233", + "id": 917172738, + "issues_url": null, + "locked": false, + "merge_commit_sha": "08d81867a021e7f7bd0e3187dc2bd1b85890d7fa", + "merged_at": null, + "node_id": "PR_kwDOAPphoM42qvIC", + "number": 18233, + "patch_url": "https://github.com/neovim/neovim/pull/18233.patch", + "state": "open", + "title": "CI: debug issue with bump API version", + "updated_at": "2022-04-25 14:39:46+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18233" + } + ], + "18286": [ + { + "closed_at": null, + "created_at": "2022-04-27 13:14:57+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18286.diff", + "html_url": "https://github.com/neovim/neovim/pull/18286", + "id": 920640099, + "issues_url": null, + "locked": false, + "merge_commit_sha": "0de98bc439f8528ce9ee077581fc0c6a9fec2597", + "merged_at": null, + "node_id": "PR_kwDOAPphoM4239pj", + "number": 18286, + "patch_url": "https://github.com/neovim/neovim/pull/18286.patch", + "state": "open", + "title": "feat(lua): add vim.iconv", + "updated_at": "2022-07-05 13:47:24+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18286" + } + ], + "18304": [ + { + "closed_at": null, + "created_at": "2022-04-29 12:45:45+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18304.diff", + "html_url": "https://github.com/neovim/neovim/pull/18304", + "id": 923708305, + "issues_url": null, + "locked": false, + "merge_commit_sha": "7bfddefeb5ebdcc2652712a942082c1b1be99736", + "merged_at": null, + "node_id": "PR_kwDOAPphoM43DquR", + "number": 18304, + "patch_url": "https://github.com/neovim/neovim/pull/18304.patch", + "state": "open", + "title": "feat(lsp): support dynamic registration of didChangeConfiguration", + "updated_at": "2022-06-13 10:44:21+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18304" + } + ], + "18317": [ + { + "closed_at": null, + "created_at": "2022-04-30 11:15:53+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18317.diff", + "html_url": "https://github.com/neovim/neovim/pull/18317", + "id": 924639810, + "issues_url": null, + "locked": false, + "merge_commit_sha": "12f2d977553c8dab245fc5f0539876f32c8d8463", + "merged_at": null, + "node_id": "PR_kwDOAPphoM43HOJC", + "number": 18317, + "patch_url": "https://github.com/neovim/neovim/pull/18317.patch", + "state": "open", + "title": "feat(treesitter): make resolving of injection `@language` configurable", + "updated_at": "2022-04-30 11:26:18+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18317" + } + ], + "18361": [ + { + "closed_at": null, + "created_at": "2022-05-02 10:47:13+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18361.diff", + "html_url": "https://github.com/neovim/neovim/pull/18361", + "id": 925430366, + "issues_url": null, + "locked": false, + "merge_commit_sha": "4d13c00102b9d2c99cf641fb73cda31f05bed9b3", + "merged_at": null, + "node_id": "PR_kwDOAPphoM43KPJe", + "number": 18361, + "patch_url": "https://github.com/neovim/neovim/pull/18361.patch", + "state": "open", + "title": "fix(executor): port luaL_tolstring from Lua 5.2 (#18359)", + "updated_at": "2022-05-05 10:54:53+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18361" + } + ], + "18372": [ + { + "closed_at": null, + "created_at": "2022-05-02 16:30:48+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18372.diff", + "html_url": "https://github.com/neovim/neovim/pull/18372", + "id": 925733280, + "issues_url": null, + "locked": false, + "merge_commit_sha": "a94b5f002e2c73415c95bd6aaa51cc2a5edc7c8d", + "merged_at": null, + "node_id": "PR_kwDOAPphoM43LZGg", + "number": 18372, + "patch_url": "https://github.com/neovim/neovim/pull/18372.patch", + "state": "open", + "title": "feat(lsp): return result of buf_request() in LSP functions", + "updated_at": "2022-05-03 13:16:35+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18372" + } + ], + "18375": [ + { + "closed_at": null, + "created_at": "2022-05-02 19:50:12+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18375.diff", + "html_url": "https://github.com/neovim/neovim/pull/18375", + "id": 925899490, + "issues_url": null, + "locked": false, + "merge_commit_sha": "dc44bdda829ecc67813835a258680c6cbe21bad2", + "merged_at": null, + "node_id": "PR_kwDOAPphoM43MBri", + "number": 18375, + "patch_url": "https://github.com/neovim/neovim/pull/18375.patch", + "state": "open", + "title": "feat(ui): refactor TUI from thread to separate process", + "updated_at": "2022-05-10 15:55:36+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18375" + } + ], + "18388": [ + { + "closed_at": null, + "created_at": "2022-05-03 13:19:35+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18388.diff", + "html_url": "https://github.com/neovim/neovim/pull/18388", + "id": 926553260, + "issues_url": null, + "locked": false, + "merge_commit_sha": "d2f00616c9844a7ef184fba8371da4a01697b17d", + "merged_at": null, + "node_id": "PR_kwDOAPphoM43OhSs", + "number": 18388, + "patch_url": "https://github.com/neovim/neovim/pull/18388.patch", + "state": "open", + "title": "feat(job,terminal): unset Vim/Nvim-owned env vars", + "updated_at": "2022-07-01 21:23:03+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18388" + } + ], + "18414": [ + { + "closed_at": null, + "created_at": "2022-05-04 14:22:03+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18414.diff", + "html_url": "https://github.com/neovim/neovim/pull/18414", + "id": 927687258, + "issues_url": null, + "locked": false, + "merge_commit_sha": "8f55e547350086f87a8d4d978e8c08db06a8fedd", + "merged_at": null, + "node_id": "PR_kwDOAPphoM43S2Ja", + "number": 18414, + "patch_url": "https://github.com/neovim/neovim/pull/18414.patch", + "state": "open", + "title": "docs: --remote alternatives", + "updated_at": "2022-05-12 00:00:39+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18414" + } + ], + "18426": [ + { + "closed_at": null, + "created_at": "2022-05-05 09:45:28+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18426.diff", + "html_url": "https://github.com/neovim/neovim/pull/18426", + "id": 928495758, + "issues_url": null, + "locked": false, + "merge_commit_sha": "b42890e040a19b80e39580bebda4c7ab0de7b353", + "merged_at": null, + "node_id": "PR_kwDOAPphoM43V7iO", + "number": 18426, + "patch_url": "https://github.com/neovim/neovim/pull/18426.patch", + "state": "open", + "title": "fix(runtime): correct load order for ftplugin/*", + "updated_at": "2022-06-19 16:11:18+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18426" + } + ], + "18476": [ + { + "closed_at": null, + "created_at": "2022-05-08 01:30:06+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18476.diff", + "html_url": "https://github.com/neovim/neovim/pull/18476", + "id": 930384397, + "issues_url": null, + "locked": false, + "merge_commit_sha": "baf2546ee0fbd7bcdc43c7a4786c95f1c2c168a3", + "merged_at": null, + "node_id": "PR_kwDOAPphoM43dIoN", + "number": 18476, + "patch_url": "https://github.com/neovim/neovim/pull/18476.patch", + "state": "open", + "title": "feat(lsp): implement :lsp command", + "updated_at": "2022-05-12 00:39:49+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18476" + } + ], + "18506": [ + { + "closed_at": null, + "created_at": "2022-05-09 19:48:59+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18506.diff", + "html_url": "https://github.com/neovim/neovim/pull/18506", + "id": 931578517, + "issues_url": null, + "locked": false, + "merge_commit_sha": "216bac4002ad829e8eb813ae93b1623a71d9fa2b", + "merged_at": null, + "node_id": "PR_kwDOAPphoM43hsKV", + "number": 18506, + "patch_url": "https://github.com/neovim/neovim/pull/18506.patch", + "state": "open", + "title": "feat(lsp): add vim.lsp.config", + "updated_at": "2022-05-15 18:24:22+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18506" + } + ], + "18514": [ + { + "closed_at": null, + "created_at": "2022-05-10 14:51:26+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18514.diff", + "html_url": "https://github.com/neovim/neovim/pull/18514", + "id": 932536026, + "issues_url": null, + "locked": false, + "merge_commit_sha": "1e721fb3d23f7e017561820b9ee3813405e43d98", + "merged_at": null, + "node_id": "PR_kwDOAPphoM43lV7a", + "number": 18514, + "patch_url": "https://github.com/neovim/neovim/pull/18514.patch", + "state": "open", + "title": "fix(clang: 'Uninitialized argument value')", + "updated_at": "2022-05-11 10:14:42+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18514" + } + ], + "18559": [ + { + "closed_at": null, + "created_at": "2022-05-13 13:42:39+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18559.diff", + "html_url": "https://github.com/neovim/neovim/pull/18559", + "id": 935946632, + "issues_url": null, + "locked": false, + "merge_commit_sha": "b4cb43038c365067fb43ccc84d7eadd8013bbf4b", + "merged_at": null, + "node_id": "PR_kwDOAPphoM43yWmI", + "number": 18559, + "patch_url": "https://github.com/neovim/neovim/pull/18559.patch", + "state": "open", + "title": "refactor(displatcher): remove unused headers", + "updated_at": "2022-05-13 13:45:18+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18559" + } + ], + "18561": [ + { + "closed_at": null, + "created_at": "2022-05-13 14:48:28+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18561.diff", + "html_url": "https://github.com/neovim/neovim/pull/18561", + "id": 936016908, + "issues_url": null, + "locked": false, + "merge_commit_sha": "4fa3edf3047e4033bf642ce185fbef8511e7b6c7", + "merged_at": null, + "node_id": "PR_kwDOAPphoM43ynwM", + "number": 18561, + "patch_url": "https://github.com/neovim/neovim/pull/18561.patch", + "state": "open", + "title": "feat(channels): introduce v:parent", + "updated_at": "2022-07-01 21:28:28+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18561" + } + ], + "18579": [ + { + "closed_at": null, + "created_at": "2022-05-15 14:08:05+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18579.diff", + "html_url": "https://github.com/neovim/neovim/pull/18579", + "id": 936757616, + "issues_url": null, + "locked": false, + "merge_commit_sha": "9b48b169b32e2111d3195a6325aba7501f6b1287", + "merged_at": null, + "node_id": "PR_kwDOAPphoM431clw", + "number": 18579, + "patch_url": "https://github.com/neovim/neovim/pull/18579.patch", + "state": "open", + "title": "docs: .git-blame-ignore-revs", + "updated_at": "2022-07-13 13:01:26+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18579" + } + ], + "18651": [ + { + "closed_at": null, + "created_at": "2022-05-20 09:57:51+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18651.diff", + "html_url": "https://github.com/neovim/neovim/pull/18651", + "id": 942516931, + "issues_url": null, + "locked": false, + "merge_commit_sha": "3cd4df86ef31b80085a31c8bd7c74c00fca9e182", + "merged_at": null, + "node_id": "PR_kwDOAPphoM44LarD", + "number": 18651, + "patch_url": "https://github.com/neovim/neovim/pull/18651.patch", + "state": "open", + "title": "Add API functions for starting and stopping terminal ui input for use with e.g. OSC52 copy/paste to system clipboard", + "updated_at": "2022-05-22 05:37:36+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18651" + } + ], + "18665": [ + { + "closed_at": null, + "created_at": "2022-05-20 21:43:58+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18665.diff", + "html_url": "https://github.com/neovim/neovim/pull/18665", + "id": 943213852, + "issues_url": null, + "locked": false, + "merge_commit_sha": "f54b3d7d2347317f6c1c019fa196fa7e3c1dac2b", + "merged_at": null, + "node_id": "PR_kwDOAPphoM44OE0c", + "number": 18665, + "patch_url": "https://github.com/neovim/neovim/pull/18665.patch", + "state": "open", + "title": "fixed w! displaying a message when the file was uptated externally", + "updated_at": "2022-07-02 00:24:51+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18665" + } + ], + "18674": [ + { + "closed_at": null, + "created_at": "2022-05-21 12:29:43+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18674.diff", + "html_url": "https://github.com/neovim/neovim/pull/18674", + "id": 943426034, + "issues_url": null, + "locked": false, + "merge_commit_sha": "4da07f0df24a23ddca66b901c6f11fa11b771866", + "merged_at": null, + "node_id": "PR_kwDOAPphoM44O4ny", + "number": 18674, + "patch_url": "https://github.com/neovim/neovim/pull/18674.patch", + "state": "open", + "title": "feat(cmake): run busted tests with ctest", + "updated_at": "2022-07-02 14:18:16+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18674" + } + ], + "18678": [ + { + "closed_at": null, + "created_at": "2022-05-21 14:25:01+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18678.diff", + "html_url": "https://github.com/neovim/neovim/pull/18678", + "id": 943444820, + "issues_url": null, + "locked": false, + "merge_commit_sha": "e39ef59c5fec1215433067016afe2cf868caf1c4", + "merged_at": null, + "node_id": "PR_kwDOAPphoM44O9NU", + "number": 18678, + "patch_url": "https://github.com/neovim/neovim/pull/18678.patch", + "state": "open", + "title": "fix(treesitter): use regions for `LanguageTree:contains`", + "updated_at": "2022-06-16 09:02:42+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18678" + } + ], + "18690": [ + { + "closed_at": null, + "created_at": "2022-05-22 10:31:47+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18690.diff", + "html_url": "https://github.com/neovim/neovim/pull/18690", + "id": 943620843, + "issues_url": null, + "locked": false, + "merge_commit_sha": "d50957d2defe8e83feb8a14408b50659baa680ae", + "merged_at": null, + "node_id": "PR_kwDOAPphoM44PoLr", + "number": 18690, + "patch_url": "https://github.com/neovim/neovim/pull/18690.patch", + "state": "open", + "title": "fix(charset): don't consider chars above 0x10FFFF printable", + "updated_at": "2022-05-22 12:34:05+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18690" + } + ], + "18704": [ + { + "closed_at": null, + "created_at": "2022-05-22 19:32:26+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18704.diff", + "html_url": "https://github.com/neovim/neovim/pull/18704", + "id": 943725352, + "issues_url": null, + "locked": false, + "merge_commit_sha": "14ac8b602ccc8584941f1d288e392d2526156a76", + "merged_at": null, + "node_id": "PR_kwDOAPphoM44QBso", + "number": 18704, + "patch_url": "https://github.com/neovim/neovim/pull/18704.patch", + "state": "open", + "title": "Fix #11349 and #18659", + "updated_at": "2022-05-23 01:24:59+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18704" + } + ], + "18705": [ + { + "closed_at": null, + "created_at": "2022-05-22 19:47:14+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18705.diff", + "html_url": "https://github.com/neovim/neovim/pull/18705", + "id": 943727766, + "issues_url": null, + "locked": false, + "merge_commit_sha": "13afa43f7be64eeba99510815f7837bfe004a4ab", + "merged_at": null, + "node_id": "PR_kwDOAPphoM44QCSW", + "number": 18705, + "patch_url": "https://github.com/neovim/neovim/pull/18705.patch", + "state": "open", + "title": "fix: assertion failure when requiring missing module in autocmd", + "updated_at": "2022-06-14 12:58:40+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18705" + } + ], + "18706": [ + { + "closed_at": null, + "created_at": "2022-05-22 20:57:23+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18706.diff", + "html_url": "https://github.com/neovim/neovim/pull/18706", + "id": 943739485, + "issues_url": null, + "locked": false, + "merge_commit_sha": "a889579ca74d2c6bf18915249718272ef162d12c", + "merged_at": null, + "node_id": "PR_kwDOAPphoM44QFJd", + "number": 18706, + "patch_url": "https://github.com/neovim/neovim/pull/18706.patch", + "state": "open", + "title": "feat(lua)!: repurpose \"-l\" to execute Lua", + "updated_at": "2022-06-19 21:49:54+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18706" + } + ], + "18723": [ + { + "closed_at": null, + "created_at": "2022-05-23 19:58:26+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18723.diff", + "html_url": "https://github.com/neovim/neovim/pull/18723", + "id": 944851207, + "issues_url": null, + "locked": false, + "merge_commit_sha": "bd3ec226b643ac3a78b8bbd3b5f8906405907628", + "merged_at": null, + "node_id": "PR_kwDOAPphoM44UUkH", + "number": 18723, + "patch_url": "https://github.com/neovim/neovim/pull/18723.patch", + "state": "open", + "title": "fix: paste registers in powershell normally (non-reversed)", + "updated_at": "2022-05-25 11:07:14+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18723" + } + ], + "18769": [ + { + "closed_at": null, + "created_at": "2022-05-27 14:45:31+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18769.diff", + "html_url": "https://github.com/neovim/neovim/pull/18769", + "id": 949384704, + "issues_url": null, + "locked": false, + "merge_commit_sha": "349af6dc9f6439ac6d4db8efef5efa0823970200", + "merged_at": null, + "node_id": "PR_kwDOAPphoM44lnYA", + "number": 18769, + "patch_url": "https://github.com/neovim/neovim/pull/18769.patch", + "state": "open", + "title": "vim-patch:8.2.5028: syntax regexp matching can be slow", + "updated_at": "2022-05-28 17:46:50+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18769" + } + ], + "18772": [ + { + "closed_at": null, + "created_at": "2022-05-27 16:07:43+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18772.diff", + "html_url": "https://github.com/neovim/neovim/pull/18772", + "id": 949452304, + "issues_url": null, + "locked": false, + "merge_commit_sha": "1807a8abe5c0c97956f058c1377ea81be2c04a33", + "merged_at": null, + "node_id": "PR_kwDOAPphoM44l34Q", + "number": 18772, + "patch_url": "https://github.com/neovim/neovim/pull/18772.patch", + "state": "open", + "title": "Expose API for snippet parser.", + "updated_at": "2022-07-08 21:51:30+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18772" + } + ], + "18777": [ + { + "closed_at": null, + "created_at": "2022-05-28 08:16:57+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18777.diff", + "html_url": "https://github.com/neovim/neovim/pull/18777", + "id": 949982561, + "issues_url": null, + "locked": false, + "merge_commit_sha": "d518575b480913bf6c6211481c1b68548daf7fee", + "merged_at": null, + "node_id": "PR_kwDOAPphoM44n5Vh", + "number": 18777, + "patch_url": "https://github.com/neovim/neovim/pull/18777.patch", + "state": "open", + "title": "feat(api): add bdelete to nvim_buf_delete", + "updated_at": "2022-06-04 11:34:59+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18777" + } + ], + "18815": [ + { + "closed_at": null, + "created_at": "2022-05-31 16:17:04+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18815.diff", + "html_url": "https://github.com/neovim/neovim/pull/18815", + "id": 952174162, + "issues_url": null, + "locked": false, + "merge_commit_sha": "9f103f711ee44ecdadb6bc07fd99a461b4027610", + "merged_at": null, + "node_id": "PR_kwDOAPphoM44wQZS", + "number": 18815, + "patch_url": "https://github.com/neovim/neovim/pull/18815.patch", + "state": "open", + "title": "feat: 'inccommand' support for :normal", + "updated_at": "2022-06-01 02:39:22+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18815" + } + ], + "18839": [ + { + "closed_at": null, + "created_at": "2022-06-02 14:40:46+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18839.diff", + "html_url": "https://github.com/neovim/neovim/pull/18839", + "id": 955993635, + "issues_url": null, + "locked": false, + "merge_commit_sha": "5f754383b97a0b0e617c36479f3ba63760f13a31", + "merged_at": null, + "node_id": "PR_kwDOAPphoM44-04j", + "number": 18839, + "patch_url": "https://github.com/neovim/neovim/pull/18839.patch", + "state": "open", + "title": "fix(lsp): fix multi client handling workspace_folder methods", + "updated_at": "2022-06-07 16:28:36+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18839" + } + ], + "18924": [ + { + "closed_at": null, + "created_at": "2022-06-11 04:04:46+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18924.diff", + "html_url": "https://github.com/neovim/neovim/pull/18924", + "id": 964667702, + "issues_url": null, + "locked": false, + "merge_commit_sha": "fa99912e66cac300a659c733ba7d506f08acdf6e", + "merged_at": null, + "node_id": "PR_kwDOAPphoM45f6k2", + "number": 18924, + "patch_url": "https://github.com/neovim/neovim/pull/18924.patch", + "state": "open", + "title": "Increase the maximum search index shown in the statusline", + "updated_at": "2022-06-11 11:01:08+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18924" + } + ], + "18930": [ + { + "closed_at": null, + "created_at": "2022-06-11 21:40:18+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18930.diff", + "html_url": "https://github.com/neovim/neovim/pull/18930", + "id": 964842536, + "issues_url": null, + "locked": false, + "merge_commit_sha": "ab1c9a2f89b1d48f55915969cfb5093c8fbb21e6", + "merged_at": null, + "node_id": "PR_kwDOAPphoM45glQo", + "number": 18930, + "patch_url": "https://github.com/neovim/neovim/pull/18930.patch", + "state": "open", + "title": "fix(lsp): log messages using vim.notify", + "updated_at": "2022-06-14 23:40:15+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18930" + } + ], + "18935": [ + { + "closed_at": null, + "created_at": "2022-06-12 14:45:23+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18935.diff", + "html_url": "https://github.com/neovim/neovim/pull/18935", + "id": 965018760, + "issues_url": null, + "locked": false, + "merge_commit_sha": "fef2becf680181f763ce0eea7544c972627fc960", + "merged_at": null, + "node_id": "PR_kwDOAPphoM45hQSI", + "number": 18935, + "patch_url": "https://github.com/neovim/neovim/pull/18935.patch", + "state": "open", + "title": "feat(lsp): add WARN logs for spawn failures and non-OK exits", + "updated_at": "2022-06-12 16:00:47+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18935" + } + ], + "18992": [ + { + "closed_at": null, + "created_at": "2022-06-16 23:29:11+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/18992.diff", + "html_url": "https://github.com/neovim/neovim/pull/18992", + "id": 969885744, + "issues_url": null, + "locked": false, + "merge_commit_sha": "5d4322e26655702ddadb167cf942541ac03b80a5", + "merged_at": null, + "node_id": "PR_kwDOAPphoM45z0gw", + "number": 18992, + "patch_url": "https://github.com/neovim/neovim/pull/18992.patch", + "state": "open", + "title": "fix(input): do no reinterpret mouse keys with ALT modifiers", + "updated_at": "2022-06-17 10:32:21+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/18992" + } + ], + "19024": [ + { + "closed_at": null, + "created_at": "2022-06-19 16:16:45+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19024.diff", + "html_url": "https://github.com/neovim/neovim/pull/19024", + "id": 971519345, + "issues_url": null, + "locked": false, + "merge_commit_sha": "d8649479247b78184d1cbf013b309fce9c548857", + "merged_at": null, + "node_id": "PR_kwDOAPphoM456DVx", + "number": 19024, + "patch_url": "https://github.com/neovim/neovim/pull/19024.patch", + "state": "open", + "title": "docs: fix typos", + "updated_at": "2022-07-15 07:57:17+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19024" + } + ], + "19032": [ + { + "closed_at": null, + "created_at": "2022-06-20 15:29:33+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19032.diff", + "html_url": "https://github.com/neovim/neovim/pull/19032", + "id": 972377172, + "issues_url": null, + "locked": false, + "merge_commit_sha": "36b7470b9e155718abeefb6314723745466e1f3d", + "merged_at": null, + "node_id": "PR_kwDOAPphoM459UxU", + "number": 19032, + "patch_url": "https://github.com/neovim/neovim/pull/19032.patch", + "state": "open", + "title": "feat(nvim_exec2): Implement `nvim_exec2()`", + "updated_at": "2022-06-21 11:30:48+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19032" + } + ], + "19035": [ + { + "closed_at": null, + "created_at": "2022-06-21 00:07:33+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19035.diff", + "html_url": "https://github.com/neovim/neovim/pull/19035", + "id": 972745988, + "issues_url": null, + "locked": false, + "merge_commit_sha": "bf7eb9c064956bccd01c80f96f9d22f3beec7742", + "merged_at": null, + "node_id": "PR_kwDOAPphoM45-u0E", + "number": 19035, + "patch_url": "https://github.com/neovim/neovim/pull/19035.patch", + "state": "open", + "title": "feat(getchar): getchar(2) waits for character without moving the cursor", + "updated_at": "2022-06-22 02:30:09+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19035" + } + ], + "19062": [ + { + "closed_at": null, + "created_at": "2022-06-23 09:31:43+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19062.diff", + "html_url": "https://github.com/neovim/neovim/pull/19062", + "id": 976883533, + "issues_url": null, + "locked": false, + "merge_commit_sha": "2786fb2f05e769b1494ba37cf392f46b3bd4184e", + "merged_at": null, + "node_id": "PR_kwDOAPphoM46Og9N", + "number": 19062, + "patch_url": "https://github.com/neovim/neovim/pull/19062.patch", + "state": "open", + "title": "test: what the consequences of removing \"simplified\" mappings would be", + "updated_at": "2022-06-23 10:13:22+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19062" + } + ], + "19096": [ + { + "closed_at": null, + "created_at": "2022-06-26 07:28:10+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19096.diff", + "html_url": "https://github.com/neovim/neovim/pull/19096", + "id": 979237483, + "issues_url": null, + "locked": false, + "merge_commit_sha": "003a56327ba4cfef78c3e5a3a26d2ce2cd00b364", + "merged_at": null, + "node_id": "PR_kwDOAPphoM46Xfpr", + "number": 19096, + "patch_url": "https://github.com/neovim/neovim/pull/19096.patch", + "state": "open", + "title": "feat: allow interrupting lua code", + "updated_at": "2022-06-27 15:06:44+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19096" + } + ], + "19111": [ + { + "closed_at": null, + "created_at": "2022-06-26 22:20:48+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19111.diff", + "html_url": "https://github.com/neovim/neovim/pull/19111", + "id": 979404644, + "issues_url": null, + "locked": false, + "merge_commit_sha": "408e904e0ef1edbb6970382ac66e6b9a2d255cf9", + "merged_at": null, + "node_id": "PR_kwDOAPphoM46YIdk", + "number": 19111, + "patch_url": "https://github.com/neovim/neovim/pull/19111.patch", + "state": "open", + "title": "fix: shellslash for exepath and stdpath (#13787)", + "updated_at": "2022-07-12 17:30:21+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19111" + } + ], + "19121": [ + { + "closed_at": null, + "created_at": "2022-06-27 10:46:33+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19121.diff", + "html_url": "https://github.com/neovim/neovim/pull/19121", + "id": 979893374, + "issues_url": null, + "locked": false, + "merge_commit_sha": "8401da4fdf251fad66c48a4804a1ace87080f4d1", + "merged_at": null, + "node_id": "PR_kwDOAPphoM46Z_x-", + "number": 19121, + "patch_url": "https://github.com/neovim/neovim/pull/19121.patch", + "state": "open", + "title": "ci(distribution): auto-release on winget", + "updated_at": "2022-06-28 10:34:15+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19121" + } + ], + "19128": [ + { + "closed_at": null, + "created_at": "2022-06-27 16:30:03+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19128.diff", + "html_url": "https://github.com/neovim/neovim/pull/19128", + "id": 980278904, + "issues_url": null, + "locked": false, + "merge_commit_sha": "364ca116d7c277b797f0f13965d9583cda733cc8", + "merged_at": null, + "node_id": "PR_kwDOAPphoM46bd54", + "number": 19128, + "patch_url": "https://github.com/neovim/neovim/pull/19128.patch", + "state": "open", + "title": "build: add cmake-presets integration", + "updated_at": "2022-07-16 17:42:48+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19128" + } + ], + "19140": [ + { + "closed_at": null, + "created_at": "2022-06-28 18:03:28+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19140.diff", + "html_url": "https://github.com/neovim/neovim/pull/19140", + "id": 981722982, + "issues_url": null, + "locked": false, + "merge_commit_sha": "ce8fb99a48e52e92023b2789ed3db3683772609a", + "merged_at": null, + "node_id": "PR_kwDOAPphoM46g-dm", + "number": 19140, + "patch_url": "https://github.com/neovim/neovim/pull/19140.patch", + "state": "open", + "title": "Fix leaks detected by coverity", + "updated_at": "2022-06-30 15:45:51+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19140" + } + ], + "19155": [ + { + "closed_at": null, + "created_at": "2022-06-29 16:00:16+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19155.diff", + "html_url": "https://github.com/neovim/neovim/pull/19155", + "id": 982791801, + "issues_url": null, + "locked": false, + "merge_commit_sha": "88b779faa4ed8543f8f8389256e53a0efdcfa017", + "merged_at": null, + "node_id": "PR_kwDOAPphoM46lDZ5", + "number": 19155, + "patch_url": "https://github.com/neovim/neovim/pull/19155.patch", + "state": "open", + "title": "feat(api): add nvim_win_get_folds", + "updated_at": "2022-07-04 11:15:25+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19155" + } + ], + "19164": [ + { + "closed_at": null, + "created_at": "2022-06-30 09:28:53+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19164.diff", + "html_url": "https://github.com/neovim/neovim/pull/19164", + "id": 983594296, + "issues_url": null, + "locked": false, + "merge_commit_sha": "9488a1f3b059d2e9bd574454744aead2d299aa50", + "merged_at": null, + "node_id": "PR_kwDOAPphoM46oHU4", + "number": 19164, + "patch_url": "https://github.com/neovim/neovim/pull/19164.patch", + "state": "open", + "title": "feat(lua): vim.ui_attach to get ui events from lua", + "updated_at": "2022-07-04 06:08:30+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19164" + } + ], + "19167": [ + { + "closed_at": null, + "created_at": "2022-06-30 12:52:29+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19167.diff", + "html_url": "https://github.com/neovim/neovim/pull/19167", + "id": 983805934, + "issues_url": null, + "locked": false, + "merge_commit_sha": "b5917cb69cab13be39def7241803165d74812a72", + "merged_at": null, + "node_id": "PR_kwDOAPphoM46o6_u", + "number": 19167, + "patch_url": "https://github.com/neovim/neovim/pull/19167.patch", + "state": "open", + "title": "refactor: enable -Wconversion warning for memline.c", + "updated_at": "2022-06-30 13:29:03+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19167" + } + ], + "19185": [ + { + "closed_at": null, + "created_at": "2022-07-01 10:44:52+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19185.diff", + "html_url": "https://github.com/neovim/neovim/pull/19185", + "id": 984815690, + "issues_url": null, + "locked": false, + "merge_commit_sha": "9d04e724c2307cad1340eced53aa2af4daae3cd9", + "merged_at": null, + "node_id": "PR_kwDOAPphoM46sxhK", + "number": 19185, + "patch_url": "https://github.com/neovim/neovim/pull/19185.patch", + "state": "open", + "title": "[WIP] cmdheight=0 fix bugs part2", + "updated_at": "2022-07-15 00:57:48+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19185" + } + ], + "19189": [ + { + "closed_at": null, + "created_at": "2022-07-01 12:11:30+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19189.diff", + "html_url": "https://github.com/neovim/neovim/pull/19189", + "id": 984895341, + "issues_url": null, + "locked": false, + "merge_commit_sha": "5bdac20b500cd155dd740f414856955b76d3cac4", + "merged_at": null, + "node_id": "PR_kwDOAPphoM46tE9t", + "number": 19189, + "patch_url": "https://github.com/neovim/neovim/pull/19189.patch", + "state": "open", + "title": "feat(cmake): add native support for testing", + "updated_at": "2022-07-12 11:37:38+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19189" + } + ], + "19213": [ + { + "closed_at": null, + "created_at": "2022-07-03 09:49:06+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19213.diff", + "html_url": "https://github.com/neovim/neovim/pull/19213", + "id": 985685047, + "issues_url": null, + "locked": false, + "merge_commit_sha": "ac805d384745ad2941f623e89f988f4a295e6692", + "merged_at": null, + "node_id": "PR_kwDOAPphoM46wFw3", + "number": 19213, + "patch_url": "https://github.com/neovim/neovim/pull/19213.patch", + "state": "open", + "title": "feat(lsp): allow passing custom list handler to LSP functions that return lists", + "updated_at": "2022-07-16 09:53:45+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19213" + } + ], + "19217": [ + { + "closed_at": null, + "created_at": "2022-07-03 15:00:07+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19217.diff", + "html_url": "https://github.com/neovim/neovim/pull/19217", + "id": 985742869, + "issues_url": null, + "locked": false, + "merge_commit_sha": "d71e45a0aaa1fbed9ff922d1e1e3268d0df05df3", + "merged_at": null, + "node_id": "PR_kwDOAPphoM46wT4V", + "number": 19217, + "patch_url": "https://github.com/neovim/neovim/pull/19217.patch", + "state": "open", + "title": "fix(lua): make it possible cancel vim.wait with ctrl-c", + "updated_at": "2022-07-04 22:03:35+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19217" + } + ], + "19233": [ + { + "closed_at": null, + "created_at": "2022-07-05 09:59:35+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19233.diff", + "html_url": "https://github.com/neovim/neovim/pull/19233", + "id": 987235146, + "issues_url": null, + "locked": false, + "merge_commit_sha": "2569c6db38f7af018e6f24f13617f75484f23f5b", + "merged_at": null, + "node_id": "PR_kwDOAPphoM462ANK", + "number": 19233, + "patch_url": "https://github.com/neovim/neovim/pull/19233.patch", + "state": "open", + "title": "vim-patch:8.1.{0342,0425}: can_unload_buffer()", + "updated_at": "2022-07-05 10:25:04+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19233" + } + ], + "19238": [ + { + "closed_at": null, + "created_at": "2022-07-05 14:51:33+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19238.diff", + "html_url": "https://github.com/neovim/neovim/pull/19238", + "id": 987532353, + "issues_url": null, + "locked": false, + "merge_commit_sha": "515b42f2056b236f4c5aada1908f296f7a3b70af", + "merged_at": null, + "node_id": "PR_kwDOAPphoM463IxB", + "number": 19238, + "patch_url": "https://github.com/neovim/neovim/pull/19238.patch", + "state": "open", + "title": "feat(lua): allow vim.cmd to be indexed", + "updated_at": "2022-07-13 08:54:48+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19238" + } + ], + "19239": [ + { + "closed_at": null, + "created_at": "2022-07-05 17:11:07+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19239.diff", + "html_url": "https://github.com/neovim/neovim/pull/19239", + "id": 987660262, + "issues_url": null, + "locked": false, + "merge_commit_sha": "e1a55c94a5fa1008ded2c5a4a93f2186e4fc94fa", + "merged_at": null, + "node_id": "PR_kwDOAPphoM463n_m", + "number": 19239, + "patch_url": "https://github.com/neovim/neovim/pull/19239.patch", + "state": "open", + "title": "refactor(lua): Use API objects for Lua stdlib", + "updated_at": "2022-07-06 15:43:41+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19239" + } + ], + "19243": [ + { + "closed_at": null, + "created_at": "2022-07-05 23:50:22+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19243.diff", + "html_url": "https://github.com/neovim/neovim/pull/19243", + "id": 987968117, + "issues_url": null, + "locked": false, + "merge_commit_sha": "75691f394506762782fa9013e2fe391ca9da3b88", + "merged_at": null, + "node_id": "PR_kwDOAPphoM464zJ1", + "number": 19243, + "patch_url": "https://github.com/neovim/neovim/pull/19243.patch", + "state": "open", + "title": "feat(window/ui): add splitscroll option ", + "updated_at": "2022-07-15 23:07:35+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19243" + } + ], + "19246": [ + { + "closed_at": null, + "created_at": "2022-07-06 03:41:50+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19246.diff", + "html_url": "https://github.com/neovim/neovim/pull/19246", + "id": 988117381, + "issues_url": null, + "locked": false, + "merge_commit_sha": "b5eca10ac7e75cf860e2c3608524de84451a0f36", + "merged_at": null, + "node_id": "PR_kwDOAPphoM465XmF", + "number": 19246, + "patch_url": "https://github.com/neovim/neovim/pull/19246.patch", + "state": "open", + "title": "version.c: update [skip ci]", + "updated_at": "2022-07-16 03:34:24+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19246" + } + ], + "19259": [ + { + "closed_at": null, + "created_at": "2022-07-06 20:53:09+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19259.diff", + "html_url": "https://github.com/neovim/neovim/pull/19259", + "id": 989349964, + "issues_url": null, + "locked": false, + "merge_commit_sha": "43442a20f99883f6e23b8a56ac1603d3f15c5b03", + "merged_at": null, + "node_id": "PR_kwDOAPphoM46-EhM", + "number": 19259, + "patch_url": "https://github.com/neovim/neovim/pull/19259.patch", + "state": "open", + "title": "fix: emoji \"Regional Indicator Symbols\" handling", + "updated_at": "2022-07-16 03:02:55+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19259" + } + ], + "19268": [ + { + "closed_at": null, + "created_at": "2022-07-07 13:21:20+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19268.diff", + "html_url": "https://github.com/neovim/neovim/pull/19268", + "id": 990230805, + "issues_url": null, + "locked": false, + "merge_commit_sha": "1f6f636fd8b27b78e044f50032eabcf3344dd290", + "merged_at": null, + "node_id": "PR_kwDOAPphoM47BbkV", + "number": 19268, + "patch_url": "https://github.com/neovim/neovim/pull/19268.patch", + "state": "open", + "title": "fix (#19250): make_filter_cmd for powershell commands with arguments", + "updated_at": "2022-07-13 09:19:16+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19268" + } + ], + "19270": [ + { + "closed_at": null, + "created_at": "2022-07-07 15:45:11+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19270.diff", + "html_url": "https://github.com/neovim/neovim/pull/19270", + "id": 990445515, + "issues_url": null, + "locked": false, + "merge_commit_sha": "ba4950cdcb1d8db70d9ded568a4070fc602b40b4", + "merged_at": null, + "node_id": "PR_kwDOAPphoM47CP_L", + "number": 19270, + "patch_url": "https://github.com/neovim/neovim/pull/19270.patch", + "state": "open", + "title": "feat(ui): add scroll_delta to win_viewport event", + "updated_at": "2022-07-08 09:54:34+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19270" + } + ], + "19279": [ + { + "closed_at": null, + "created_at": "2022-07-08 09:30:08+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19279.diff", + "html_url": "https://github.com/neovim/neovim/pull/19279", + "id": 991422510, + "issues_url": null, + "locked": false, + "merge_commit_sha": "f02ec227542fe8ffa0739acacc4aa6b7f6f422cf", + "merged_at": null, + "node_id": "PR_kwDOAPphoM47F-gu", + "number": 19279, + "patch_url": "https://github.com/neovim/neovim/pull/19279.patch", + "state": "open", + "title": "fix(decoration): slightly better botline guess", + "updated_at": "2022-07-08 14:07:26+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19279" + } + ], + "19290": [ + { + "closed_at": null, + "created_at": "2022-07-08 17:05:15+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19290.diff", + "html_url": "https://github.com/neovim/neovim/pull/19290", + "id": 991875851, + "issues_url": null, + "locked": false, + "merge_commit_sha": "a21da8e1eae6503f1c1b84e244e10c46db7f3763", + "merged_at": null, + "node_id": "PR_kwDOAPphoM47HtML", + "number": 19290, + "patch_url": "https://github.com/neovim/neovim/pull/19290.patch", + "state": "open", + "title": "feat(defaults): enable mouse support", + "updated_at": "2022-07-16 15:18:23+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19290" + } + ], + "19309": [ + { + "closed_at": null, + "created_at": "2022-07-10 13:07:23+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19309.diff", + "html_url": "https://github.com/neovim/neovim/pull/19309", + "id": 992420584, + "issues_url": null, + "locked": false, + "merge_commit_sha": "f525f6ccefcbcc1cbf10f0e1b35f999726cb88aa", + "merged_at": null, + "node_id": "PR_kwDOAPphoM47JyLo", + "number": 19309, + "patch_url": "https://github.com/neovim/neovim/pull/19309.patch", + "state": "open", + "title": "refactor(lsp): make the use of local aliases more consistent", + "updated_at": "2022-07-15 19:32:37+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19309" + } + ], + "19315": [ + { + "closed_at": null, + "created_at": "2022-07-11 06:08:45+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19315.diff", + "html_url": "https://github.com/neovim/neovim/pull/19315", + "id": 992700834, + "issues_url": null, + "locked": false, + "merge_commit_sha": "206374e6d2b575dc7369c3b7d089cad6a8ba2828", + "merged_at": null, + "node_id": "PR_kwDOAPphoM47K2mi", + "number": 19315, + "patch_url": "https://github.com/neovim/neovim/pull/19315.patch", + "state": "open", + "title": "fix (#18501): chansend sending lines to terminal buffer in reverse order in Windows", + "updated_at": "2022-07-15 18:23:17+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19315" + } + ], + "19323": [ + { + "closed_at": null, + "created_at": "2022-07-11 14:26:38+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19323.diff", + "html_url": "https://github.com/neovim/neovim/pull/19323", + "id": 993176462, + "issues_url": null, + "locked": false, + "merge_commit_sha": "1ea5fe94ce9da750a40d1eafa8fe7c587576520f", + "merged_at": null, + "node_id": "PR_kwDOAPphoM47MquO", + "number": 19323, + "patch_url": "https://github.com/neovim/neovim/pull/19323.patch", + "state": "open", + "title": "fix: Escape path characters in username for tempdir #19240", + "updated_at": "2022-07-15 15:35:24+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19323" + } + ], + "19336": [ + { + "closed_at": null, + "created_at": "2022-07-12 16:00:23+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19336.diff", + "html_url": "https://github.com/neovim/neovim/pull/19336", + "id": 994466551, + "issues_url": null, + "locked": false, + "merge_commit_sha": "fd0d1c54e3f0c38dd8ac4eefdc323749d4eb93ad", + "merged_at": null, + "node_id": "PR_kwDOAPphoM47Rlr3", + "number": 19336, + "patch_url": "https://github.com/neovim/neovim/pull/19336.patch", + "state": "open", + "title": "ci: refactor build.ps1", + "updated_at": "2022-07-16 18:40:15+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19336" + } + ], + "19351": [ + { + "closed_at": null, + "created_at": "2022-07-13 11:07:34+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19351.diff", + "html_url": "https://github.com/neovim/neovim/pull/19351", + "id": 995357737, + "issues_url": null, + "locked": false, + "merge_commit_sha": "be34f12a5872fa6d25ee262285e466f1f2ca137d", + "merged_at": null, + "node_id": "PR_kwDOAPphoM47U_Qp", + "number": 19351, + "patch_url": "https://github.com/neovim/neovim/pull/19351.patch", + "state": "open", + "title": "feat(ts): upstream spellsitter.nvim", + "updated_at": "2022-07-14 12:13:33+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19351" + } + ], + "19360": [ + { + "closed_at": null, + "created_at": "2022-07-14 08:45:01+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19360.diff", + "html_url": "https://github.com/neovim/neovim/pull/19360", + "id": 996391724, + "issues_url": null, + "locked": false, + "merge_commit_sha": "86553c7357a88b59d43caa272e2277799420ad47", + "merged_at": null, + "node_id": "PR_kwDOAPphoM47Y7ss", + "number": 19360, + "patch_url": "https://github.com/neovim/neovim/pull/19360.patch", + "state": "open", + "title": "feat: multibuffer preview support for inccommand", + "updated_at": "2022-07-15 05:42:50+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19360" + } + ], + "19385": [ + { + "closed_at": null, + "created_at": "2022-07-16 02:56:52+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19385.diff", + "html_url": "https://github.com/neovim/neovim/pull/19385", + "id": 998333680, + "issues_url": null, + "locked": false, + "merge_commit_sha": "f9b8b135e130f66e0f022eeecb92c5e219d07639", + "merged_at": null, + "node_id": "PR_kwDOAPphoM47gVzw", + "number": 19385, + "patch_url": "https://github.com/neovim/neovim/pull/19385.patch", + "state": "open", + "title": "Returns nil when vim.fn is indexed with invalid key. Fixes #19271.", + "updated_at": "2022-07-16 03:51:03+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19385" + } + ], + "19390": [ + { + "closed_at": null, + "created_at": "2022-07-16 13:26:58+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19390.diff", + "html_url": "https://github.com/neovim/neovim/pull/19390", + "id": 998426441, + "issues_url": null, + "locked": false, + "merge_commit_sha": "ccb413eb03a5c6b1a23b949d4abb7d7ada0d126d", + "merged_at": null, + "node_id": "PR_kwDOAPphoM47gsdJ", + "number": 19390, + "patch_url": "https://github.com/neovim/neovim/pull/19390.patch", + "state": "open", + "title": "fix(mouse): click on global statusline with splits", + "updated_at": "2022-07-16 13:54:20+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19390" + } + ], + "19392": [ + { + "closed_at": null, + "created_at": "2022-07-16 17:01:01+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19392.diff", + "html_url": "https://github.com/neovim/neovim/pull/19392", + "id": 998463091, + "issues_url": null, + "locked": false, + "merge_commit_sha": "b5c9319421d57c87cd4ce84d795296dd39100565", + "merged_at": null, + "node_id": "PR_kwDOAPphoM47g1Zz", + "number": 19392, + "patch_url": "https://github.com/neovim/neovim/pull/19392.patch", + "state": "open", + "title": "vim-patch:9.0.0055", + "updated_at": "2022-07-16 22:37:11+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19392" + } + ], + "19395": [ + { + "closed_at": null, + "created_at": "2022-07-16 18:11:24+00:00", + "diff_url": "https://github.com/neovim/neovim/pull/19395.diff", + "html_url": "https://github.com/neovim/neovim/pull/19395", + "id": 998474085, + "issues_url": null, + "locked": false, + "merge_commit_sha": "d3f45766ad6c88f9199fa6cbcba5660af1481e92", + "merged_at": null, + "node_id": "PR_kwDOAPphoM47g4Fl", + "number": 19395, + "patch_url": "https://github.com/neovim/neovim/pull/19395.patch", + "state": "open", + "title": "test(job_spec): accept alternate messages for \"append environment\" tests", + "updated_at": "2022-07-16 18:11:38+00:00", + "url": "https://api.github.com/repos/neovim/neovim/pulls/19395" + } + ] + } +} diff --git a/neorg/fetch_info/tag_gen.py b/neorg/fetch_info/tag_gen.py index 797703d..2255196 100644 --- a/neorg/fetch_info/tag_gen.py +++ b/neorg/fetch_info/tag_gen.py @@ -12,7 +12,7 @@ tag_re = re.compile(r'^(\S+)\s*(\S+).txt', re.MULTILINE) -def add_tags(software: str, c: sqlite3.Connection) -> None: +def add_tags(software: str, c: sqlite3.Cursor) -> None: """Add tags to the tag database""" if not os.path.exists(constants.THIRD_PARTY_PATH + 'neovim'): doc_setup() diff --git a/poetry.lock b/poetry.lock index cbfb6a6..b6b8421 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -[[package]] +[package] name = "aiofiles" version = "0.8.0" description = "File support for asyncio." @@ -6,7 +6,7 @@ category = "main" optional = false python-versions = ">=3.6,<4.0" -[[package]] +[package] name = "aiohttp" version = "3.7.4.post0" description = "Async http client/server framework (asyncio)" @@ -234,6 +234,20 @@ category = "main" optional = false python-versions = ">=3.5" +[[package]] +name = "deprecated" +version = "1.2.13" +description = "Python @deprecated decorator to deprecate old python classes, functions or methods." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.dependencies] +wrapt = ">=1.10,<2" + +[package.extras] +dev = ["tox", "bump2version (<1)", "sphinx (<2)", "importlib-metadata (<3)", "importlib-resources (<4)", "configparser (<5)", "sphinxcontrib-websupport (<2)", "zipp (<2)", "PyTest (<5)", "PyTest-Cov (<2.6)", "pytest", "pytest-cov"] + [[package]] name = "discord.py" version = "1.7.3" @@ -590,6 +604,14 @@ MarkupSafe = ">=2.0" [package.extras] i18n = ["Babel (>=2.7)"] +[[package]] +name = "joblib" +version = "1.1.0" +description = "Lightweight pipelining with Python functions" +category = "main" +optional = false +python-versions = ">=3.6" + [[package]] name = "lxml" version = "4.9.1" @@ -838,6 +860,22 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" [package.extras] test = ["ipaddress", "mock", "enum34", "pywin32", "wmi"] +[[package]] +name = "psycopg2" +version = "2.9.3" +description = "psycopg2 - Python-PostgreSQL Database Adapter" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "psycopg2-binary" +version = "2.9.3" +description = "psycopg2 - Python-PostgreSQL Database Adapter" +category = "main" +optional = false +python-versions = ">=3.6" + [[package]] name = "ptyprocess" version = "0.7.0" @@ -881,6 +919,21 @@ category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +[[package]] +name = "pydantic" +version = "1.9.1" +description = "Data validation and settings management using python type hints" +category = "main" +optional = false +python-versions = ">=3.6.1" + +[package.dependencies] +typing-extensions = ">=3.7.4.3" + +[package.extras] +dotenv = ["python-dotenv (>=0.10.4)"] +email = ["email-validator (>=1.0.3)"] + [[package]] name = "pydot" version = "1.4.2" @@ -900,6 +953,23 @@ category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +[[package]] +name = "pygithub" +version = "1.55" +description = "Use the full Github API v3" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +deprecated = "*" +pyjwt = ">=2.0" +pynacl = ">=1.4.0" +requests = ">=2.14.0" + +[package.extras] +integrations = ["cryptography"] + [[package]] name = "pygments" version = "2.13.0" @@ -911,6 +981,20 @@ python-versions = ">=3.6" [package.extras] plugins = ["importlib-metadata"] +[[package]] +name = "pyjwt" +version = "2.4.0" +description = "JSON Web Token implementation in Python" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +crypto = ["cryptography (>=3.3.1)"] +dev = ["sphinx", "sphinx-rtd-theme", "zope.interface", "cryptography (>=3.3.1)", "pytest (>=6.0.0,<7.0.0)", "coverage[toml] (==5.0.4)", "mypy", "pre-commit"] +docs = ["sphinx", "sphinx-rtd-theme", "zope.interface"] +tests = ["pytest (>=6.0.0,<7.0.0)", "coverage[toml] (==5.0.4)"] + [[package]] name = "pynacl" version = "1.5.0" @@ -1348,6 +1432,14 @@ category = "dev" optional = false python-versions = "*" +[[package]] +name = "wrapt" +version = "1.14.1" +description = "Module for decorators, wrappers and monkey patching." +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" + [[package]] name = "yapf" version = "0.32.0" @@ -1382,7 +1474,7 @@ httpx = ">=0.14.2" [metadata] lock-version = "1.1" python-versions = "^3.10.2" -content-hash = "f52ba1063c1aeadb372cf51bacf87bc38a91cfc539d900de47306fe256c7620d" +content-hash = "71e25f9c29f6734e128b5a11ac35f168907cdc814aeabc396a50413669df750f" [metadata.files] aiofiles = [] @@ -1551,6 +1643,10 @@ jinja2 = [ {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, ] +joblib = [ + {file = "joblib-1.1.0-py2.py3-none-any.whl", hash = "sha256:f21f109b3c7ff9d95f8387f752d0d9c34a02aa2f7060c2135f465da0e5160ff6"}, + {file = "joblib-1.1.0.tar.gz", hash = "sha256:4158fcecd13733f8be669be0683b96ebdbbd38d23559f54dca7205aea1bf1e35"}, +] lxml = [] markupsafe = [ {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"}, @@ -1721,6 +1817,43 @@ pycparser = [ {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, ] +pydantic = [ + {file = "pydantic-1.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c8098a724c2784bf03e8070993f6d46aa2eeca031f8d8a048dff277703e6e193"}, + {file = "pydantic-1.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c320c64dd876e45254bdd350f0179da737463eea41c43bacbee9d8c9d1021f11"}, + {file = "pydantic-1.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18f3e912f9ad1bdec27fb06b8198a2ccc32f201e24174cec1b3424dda605a310"}, + {file = "pydantic-1.9.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c11951b404e08b01b151222a1cb1a9f0a860a8153ce8334149ab9199cd198131"}, + {file = "pydantic-1.9.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8bc541a405423ce0e51c19f637050acdbdf8feca34150e0d17f675e72d119580"}, + {file = "pydantic-1.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e565a785233c2d03724c4dc55464559639b1ba9ecf091288dd47ad9c629433bd"}, + {file = "pydantic-1.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:a4a88dcd6ff8fd47c18b3a3709a89adb39a6373f4482e04c1b765045c7e282fd"}, + {file = "pydantic-1.9.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:447d5521575f18e18240906beadc58551e97ec98142266e521c34968c76c8761"}, + {file = "pydantic-1.9.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:985ceb5d0a86fcaa61e45781e567a59baa0da292d5ed2e490d612d0de5796918"}, + {file = "pydantic-1.9.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:059b6c1795170809103a1538255883e1983e5b831faea6558ef873d4955b4a74"}, + {file = "pydantic-1.9.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:d12f96b5b64bec3f43c8e82b4aab7599d0157f11c798c9f9c528a72b9e0b339a"}, + {file = "pydantic-1.9.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:ae72f8098acb368d877b210ebe02ba12585e77bd0db78ac04a1ee9b9f5dd2166"}, + {file = "pydantic-1.9.1-cp36-cp36m-win_amd64.whl", hash = "sha256:79b485767c13788ee314669008d01f9ef3bc05db9ea3298f6a50d3ef596a154b"}, + {file = "pydantic-1.9.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:494f7c8537f0c02b740c229af4cb47c0d39840b829ecdcfc93d91dcbb0779892"}, + {file = "pydantic-1.9.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0f047e11febe5c3198ed346b507e1d010330d56ad615a7e0a89fae604065a0e"}, + {file = "pydantic-1.9.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:969dd06110cb780da01336b281f53e2e7eb3a482831df441fb65dd30403f4608"}, + {file = "pydantic-1.9.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:177071dfc0df6248fd22b43036f936cfe2508077a72af0933d0c1fa269b18537"}, + {file = "pydantic-1.9.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9bcf8b6e011be08fb729d110f3e22e654a50f8a826b0575c7196616780683380"}, + {file = "pydantic-1.9.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a955260d47f03df08acf45689bd163ed9df82c0e0124beb4251b1290fa7ae728"}, + {file = "pydantic-1.9.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9ce157d979f742a915b75f792dbd6aa63b8eccaf46a1005ba03aa8a986bde34a"}, + {file = "pydantic-1.9.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0bf07cab5b279859c253d26a9194a8906e6f4a210063b84b433cf90a569de0c1"}, + {file = "pydantic-1.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d93d4e95eacd313d2c765ebe40d49ca9dd2ed90e5b37d0d421c597af830c195"}, + {file = "pydantic-1.9.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1542636a39c4892c4f4fa6270696902acb186a9aaeac6f6cf92ce6ae2e88564b"}, + {file = "pydantic-1.9.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a9af62e9b5b9bc67b2a195ebc2c2662fdf498a822d62f902bf27cccb52dbbf49"}, + {file = "pydantic-1.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fe4670cb32ea98ffbf5a1262f14c3e102cccd92b1869df3bb09538158ba90fe6"}, + {file = "pydantic-1.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:9f659a5ee95c8baa2436d392267988fd0f43eb774e5eb8739252e5a7e9cf07e0"}, + {file = "pydantic-1.9.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b83ba3825bc91dfa989d4eed76865e71aea3a6ca1388b59fc801ee04c4d8d0d6"}, + {file = "pydantic-1.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1dd8fecbad028cd89d04a46688d2fcc14423e8a196d5b0a5c65105664901f810"}, + {file = "pydantic-1.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02eefd7087268b711a3ff4db528e9916ac9aa18616da7bca69c1871d0b7a091f"}, + {file = "pydantic-1.9.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7eb57ba90929bac0b6cc2af2373893d80ac559adda6933e562dcfb375029acee"}, + {file = "pydantic-1.9.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:4ce9ae9e91f46c344bec3b03d6ee9612802682c1551aaf627ad24045ce090761"}, + {file = "pydantic-1.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:72ccb318bf0c9ab97fc04c10c37683d9eea952ed526707fabf9ac5ae59b701fd"}, + {file = "pydantic-1.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:61b6760b08b7c395975d893e0b814a11cf011ebb24f7d869e7118f5a339a82e1"}, + {file = "pydantic-1.9.1-py3-none-any.whl", hash = "sha256:4988c0f13c42bfa9ddd2fe2f569c9d54646ce84adc5de84228cfe83396f3bd58"}, + {file = "pydantic-1.9.1.tar.gz", hash = "sha256:1ed987c3ff29fff7fd8c3ea3a3ea877ad310aae2ef9889a119e22d3f2db0691a"}, +] pydot = [ {file = "pydot-1.4.2-py2.py3-none-any.whl", hash = "sha256:66c98190c65b8d2e2382a441b4c0edfdb4f4c025ef9cb9874de478fb0793a451"}, {file = "pydot-1.4.2.tar.gz", hash = "sha256:248081a39bcb56784deb018977e428605c1c758f10897a339fce1dd728ff007d"}, @@ -1853,6 +1986,7 @@ wcwidth = [ {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"}, {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"}, ] +wrapt = [] yapf = [ {file = "yapf-0.32.0-py2.py3-none-any.whl", hash = "sha256:8fea849025584e486fd06d6ba2bed717f396080fd3cc236ba10cb97c4c51cf32"}, {file = "yapf-0.32.0.tar.gz", hash = "sha256:a3f5085d37ef7e3e004c4ba9f9b3e40c54ff1901cd111f05145ae313a7c67d1b"}, diff --git a/pyproject.toml b/pyproject.toml index 12dd9b8..8982106 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,6 +41,11 @@ fuzzywuzzy = "^0.18.0" python-Levenshtein = "^0.12.2" thefuzz = "^0.19.0" validators = "^0.20.0" +PyGithub = "^1.55" +pydantic = "^1.9.1" +joblib = "^1.1.0" +psycopg2 = "^2.9.3" +psycopg2-binary = "^2.9.3" [tool.poetry.dev-dependencies]