[[ðArticles]] > [[ð2024 Articles]]
![[2024-09-18.webp|cover-picture]]
人çã§åããŠã€ãã£ã[[Neovimãã©ã°ã€ã³]]ã[[ðŠghostwriter.nvim]]ã«ã€ããŠçŽ¹ä»ãããŠãã ããã
> [!info]
> ãã®èšäºã¯ [[Vimé§
äŒ]] #2024/09/18 ã® åå èšäºã§ãã
## ã¯ããã«
[[ðå®è·µVim]]ã«æéãåãã[[Vim]]ã®éãžãšç¶ãæãéããŠããã6幎8ã¶æãçµã¡ãŸããã[[Vim]]ãšãã£ãŠãåœæã¯ãŸã [[IntelliJ IDEA]]ã[[VSCode]]ãã¡ã€ã³ã§äœ¿ã£ãŠããã[[Vim]]ã®ææ³ãããŒãããã®ã¿ãã€ãŸã¿é£ãããŠããŸããããæšå¹Žæ«ã«ã¯[[Neovim]]ã«å
¥ã蟌ãã§ããŸããŸããã
<div class="link-card">
<div class="link-card-header">
<img src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" class="link-card-site-icon"/>
<span class="link-card-site-name">minerva.mamansoft.net</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<p class="link-card-title">ðNeovimã䜿ã£ãããšããªãã£ãããã®åãž</p>
<p class="link-card-description">2023幎ã®ãããã1幎ã®ãµããããèšäºãæžãããšãã¿ãèããªããåž°è·¯ã«ã€ãããã€ãã¯èŠãªããã¹ããéãããšããã«ã¯èŠæ
£ããªã1éã®æçŽã...ã</p>
</div>
<img src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/%F0%9F%93%98Articles/attachments/2023-12-29.jpg" class="link-card-image" />
</div>
<a class="internal-link" data-href="ðArticles/ðNeovimã䜿ã£ãããšããªãã£ãããã®åãž.md"></a>
</div>
%%[[ðNeovimã䜿ã£ãããšããªãã£ãããã®åãž]]%%
æã®æµãã¯éããã®ã§ããããããããã1幎ã§ããäžèšã®articleãæçš¿ãããšãã¯ç»é¢è³ããã«[[coc.nvim]]ã䜿ã£ãŠããŸããããä»ã§ã¯[[nvim-lspconfig]]ã[[conform.nvim]]ã[[nvim-cmp]]ãçæã«éçºããŠããŸãããã®èŸºã®ãã©ã°ã€ã³äºæ
ã«ã€ããŠã¯ä»¥äžã®articleã«æžããŸããã
<div class="link-card">
<div class="link-card-header">
<img src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" class="link-card-site-icon"/>
<span class="link-card-site-name">minerva.mamansoft.net</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<p class="link-card-title">ðããŸã玹ä»ãããŠããªããã© ããããã®ãªãNeovimãã©ã°ã€ã³ãã¡</p>
<p class="link-card-description">Neovimãã©ã°ã€ã³ã®äžã§ãæ¥æ¬èªãµã€ãã§ã»ãŒèŠãããªããã®ã«éå®ããŠãæ°ã«å
¥ããããã€ã玹ä»ããŠããŸãã</p>
</div>
<img src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/%F0%9F%93%98Articles/attachments/2024-03-27.webp" class="link-card-image" />
</div>
<a class="internal-link" data-href="ðArticles/ðããŸã玹ä»ãããŠããªããã© ããããã®ãªãNeovimãã©ã°ã€ã³ãã¡.md"></a>
</div>
%%[[ðããŸã玹ä»ãããŠããªããã© ããããã®ãªãNeovimãã©ã°ã€ã³ãã¡]]%%
ãããªç§ã§ããããããŸã§ã«ãŸã ããéããŠããªãããšããããŸããã[[Vim]]ããã³[[Neovim]]ã®ãã©ã°ã€ã³éçºã§ããéçºèšèªã[[VimScript]]ã[[Lua]]ãšéŠŽæã¿ã®ãªãèšèªã ã£ãããšã欲ãããã©ã°ã€ã³ã¯å€§äœã©ãªãããæ¢ã«éçºãããŠããããšããããã®éã«èžã¿èŸŒããªãã§ããŸããã
ããããååã®ã€ãã€ãVimmerãéè·ãããããšã«ãªã£ãã®ã§ããã®åºæ¥äºãåæ©ãšããŠäœããæ®ããªãã...ããšèããçµæã[[Neovimãã©ã°ã€ã³]]ãã€ãã£ãŠã¿ãããšã«ããã®ã§ãã
## ã€ãã£ããã©ã°ã€ã³
[[ðŠghostwriter.nvim]]ãšãããã©ã°ã€ã³ãã€ãããŸããã
<div class="link-card">
<div class="link-card-header">
<img src="https://github.githubassets.com/favicons/favicon.svg" class="link-card-site-icon"/>
<span class="link-card-site-name">GitHub</span>
</div>
<div class="link-card-body">
<div class="link-card-content">
<p class="link-card-title">GitHub - tadashi-aikawa/ghostwriter.nvim: A Neovim plugin to share Markdown task lists as Slack posts.</p>
<p class="link-card-description">A Neovim plugin to share Markdown task lists a ... </p>
</div>
<img src="https://opengraph.githubassets.com/173e86b7605d77c7dd3fd3bc386b5b562df332c9c28708a72ef1dde77d70bef7/tadashi-aikawa/ghostwriter.nvim" class="link-card-image" />
</div>
<a href="https://github.com/tadashi-aikawa/ghostwriter.nvim"></a>
</div>
![](https://github.com/tadashi-aikawa/ghostwriter.nvim/raw/main/ghostwriter.webp)
ååãšããŽã®éãããŽãŒã¹ãã代çãããã©ã°ã€ã³ã§ããå
·äœçã«ã¯ã[[Neovim]]ã§èšèŒããå
容ã[[Slack]]ã«è»¢èšãããã©ã°ã€ã³ã§ãã
## æ©èœäžèŠ§
[[ðŠghostwriter.nvim]]ã®äž»ãªæ©èœ(ã³ãã³ã)ã¯3ã€ã§ãã
- GhostwriterCopy
- GhostwriterPost
- GhostwriterWrite
æ¬ãã©ã°ã€ã³ã®ã¡ã€ã³æ©èœã¯ **GhostwriterWrite** ã§ããã説æã®ããããããäžèšã®é ã§èª¬æããŠãããŸãã
## GhostwriterCopy
`GhostwriterCopy`ã³ãã³ãã¯ã[[ããžã¥ã¢ã«ã¢ãŒã]]ã§éžæããããã¹ããã[[Slack]]ã§æçš¿ããããã«é©ãã圢ã«å€æããŠ[[ã¯ãªããããŒãã¬ãžã¹ã¿]]ã«[[ã€ã³ã¯]]ããæ©èœã§ãã
ããšãã°ã以äžã®ããã«15~18è¡ç®ã[[ããžã¥ã¢ã«ã¢ãŒã]]ã§éžæããŸãã
![[Pasted image 20240917212531.png]]
ãã®ãŸãŸ `GhostwriterCopy`ã³ãã³ããå®è¡ãããšã[[ã¯ãªããããŒãã¬ãžã¹ã¿]]ã«ä»¥äžã®å€ãå
¥ããŸãã
```
*å·ç*
:loading: Vimé§
äŒ
:loading: å·çãSlackã«é²æç¶æ³ãå
±æã§ããNeovimãã©ã°ã€ã³ãã€ãã£ãŠã¿ãã(9/18æçš¿å)
```
`## å·ç` ã `*å·ç*` ã«çœ®ãæãã£ãŠããã®ã¯[[ðŠghostwriter.nvim]]ã®ã«ãããã®ã§ãã[[Slack]]ã§ã¯ `##` ã®ãããª[[Markdown]]ã®èŠåºãã«å¯Ÿå¿ããŠããªãããã倪åè¡šçŸã«çœ®æããŠããŸãã
ãŸãã`- [~]` ã `:loading:` ã«çœ®ãæãã£ãŠããã®ã¯ã以äžèšå®ã«ãããã®ã§ãã
```lua
config = function()
require("ghostwriter").setup({
check = {
{ mark = "~", emoji = "loading" },
{ mark = "x", emoji = "ok_green" },
{ mark = "_", emoji = "rip" },
{ mark = "-", emoji = "togowl_pause" },
{ mark = " ", emoji = "circle-success" },
}
})
end,
```
[[Slack]]ã§ã¯ `- [ ]` ã `- [x]` ã®ãããª[[GitHub Flavored Markdown]]ã®[[Task list items (GFM)|Task list items]]ã«å¯Ÿå¿ããŠããªããããè¿ããè¡šçŸã®çµµæåã«çœ®ãæããŠããŸããä»åã®äŸã¯é²è¡äžãæå³ãã `- [~]` ã§ãããã `:loading:` ã®çµµæåã«çœ®ãæãã£ãŠããŸãã
[[ã¯ãªããããŒãã¬ãžã¹ã¿]]ã«å
¥ã£ãå€ã[[Slack]]ã«è²Œãä»ãããšãæçµçã«ä»¥äžã®ãããªèŠæ ãã«ãªããŸãã
![[2024-09-17-21-38-13.webp]]
ãªããè¡šçŸãå€ããèšå®ã«ã¯ä»¥äžã®ãããªãã®ããããŸãã
```lua
config = function()
require("ghostwriter").setup({
-- ç¹å®ã®æ£èŠè¡šçŸã«ãããããè¡ã®äžéšã眮æãã
replacers = {
{ pattern = "202%d+_", replaced = " " },
{ pattern = " %d%d:%d%d ", replaced = " " },
},
-- Task list items (GFM) ã®çœ®æ
check = {
{ mark = "x", emoji = "large_green_circle" },
{ mark = " ", emoji = "white_circle" },
},
-- ãã¥ã¬ããã®çœ®æ (ç®æ¡æžãããŒã¯ã®çœ®æ)
bullet = {
emoji = "small_blue_diamond",
},
-- ã€ã³ãã³ãã®åç (Slackã¯ã€ã³ãã³ã4ãªã®ã§Markdownã2ã ãš2åããå¿
èŠãã)
indent = {
ratio = 2,
},
-- ãããã®å Žåã¯ç©ºè¡ã1è¡æãã§å°ãéãã€ãã
header = {
before_blank_lines = 1,
},
})
end,
```
äžèšãäžéã䜿ã£ããã1ã€ã®äŸã玹ä»ããŸãã
![[Pasted image 20240917214700.png]]
`GhostwriteCopy`ã³ãã³ãã®å®è¡çµæã¯ä»¥äžã®ããã«ãªããŸãã
```
*Minerva*
:circle-success: LuaLSãŸãã
:ok_green: `@param` `@return` annotation
:loading: `@async` annotation
:small_blue_diamond: [åè](https://github.com/LuaLS/lua-language-server/wiki/Annotations#async)
:circle-success: `hint.await`
:small_blue_diamond: [åè](https://luals.github.io/wiki/settings/#hint)
:circle-success: `async.void` ã§diagnosticsãæ¶ããªãã®åé¿ç
:circle-success: ç· ãåã
*åŠç¿/ç°å¢åŒ·å*
:circle-success: TypeScript/Web
:circle-success: TypeScript 5.6ã䜿ã£ãŠã¿ã
:circle-success: VCaendarã®äºå調æ»
:circle-success: JSRãè©Šã
:circle-success: Nix
:circle-success: [NixOSã§æ匷ã®Linuxãã¹ã¯ããããäœãã](https://zenn.dev/asa1984/articles/nixos-is-the-best) èªã
:circle-success: Python
:circle-success: uvãè©Šã
:circle-success: ãµã³ãã«ãããžã§ã¯ãã§æåã確èª
:circle-success: uvãJumeauxã«åã蟌ãããæ€èšãã
```
ããã¹ãã ãšã«ãªã¹ãããããŸãããã[[Slack]]ã§èŠãã°ã芧ã®éãã§ãã
![[Pasted image 20240917214851.png]]
## GhostwriterPost
`GhostwriterPost`ã³ãã³ãã¯ã[[ããžã¥ã¢ã«ã¢ãŒã]]ã§éžæããããã¹ãããåŒæ°ã§æå®ããchannelãžãšæçš¿ããæ©èœã§ããæçš¿å
容㯠`GhostwriterCopy`ã³ãã³ããšåãããžãã¯ã§å€æãããŸãã`GhostwriterCopy`ã³ãã³ãã®ããã«ãæçš¿åã«[[Slack]]ãéãå¿
èŠããªãåã ãæ°è»œã«çŽ æ©ãæçš¿ã§ããŸããçŸåšã®æçš¿ã確èªããå¿
èŠããªããã°ãªã¹ã¹ã¡ã§ãã
䜿ãæ¹ãREADMEããæç²ããŸããã
```
GhostwriterPost <channel_name> [header]
```
| Parameter | Required | Description |
| ------------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| channel_name | true | The name used to identify the channel. This is `channel.name` specified in the config, and is different from the **actual slack channel name**. |
| header | false | Header message to be added before the selected text. |
### channel_name
`channel_name`ã«ã¯configã§`channel.name`ã«èšå®ããchannelãäžæã«å€å¥ã§ããæååãæå®ããŸããèšå®ã以äžã§ããã° `times` ã `task` ã§ãã`id` ã«ã¯channel IDãæå®ããŸãã
```lua
config = function()
require("ghostwriter").setup({
-- ãµã³ãã«ãªã®ã§ channel.id ã«ã¯é©åœãªå€ãèšå®ããŠããŸã
channel = {
{ name = "times", id = "C1C5MJ80F" },
{ name = "task", id = "C06JRG10V2L" },
},
})
end,
```
`channel_name`ã®äžèŠ§ã¯è£å®åè£ã«è¡šç€ºãããŸãã®ã§ç¶Žãã¯èŠããªããŠã倧äžå€«ã§ããæçš¿åŸã®[[Slack]]ã«ã€ããŠã¯`GhostwriterCopy`ã®ãšããšåããªã®ã§å²æããŸãã
![[2024-09-17-22-07-40.webm]]
ãŸããããæçš¿ããchannelã«ã¯ãããããã³ãã³ããèšå®ããŠãããŸããããã¢ãŒãã[[ããžã¥ã¢ã«ã¢ãŒã]]ã§ãªããšæ£ããåããªãç¹ã ã泚æããŠãã ããã
```lua
{
keys = {
{ "<C-j>p", ":GhostwriterPost times", mode = { "v" } },
}
}
```
### header
2ã€ç®ã®ãã©ã¡ãŒã¿ãŒ `header` ã«ã€ããŠèª¬æããŸãã`GhostwriterPost`ã³ãã³ãã§ã¯ã第2åŒæ°ä»¥éã®ç©ºçœãå«ããã¹ãŠã®æååãéžæã¡ãã»ãŒãžã«å¯ŸããããããŒãšããŠæ±ããåé ã«è¿œå ããŸããäœãèšã£ãŠããã®ãåãããªããšæããŸãã®ã§ãäŸã玹ä»ããŸãã
ãŸãã[[ããžã¥ã¢ã«ã¢ãŒã]]ã§ä»¥äžã®ããã¹ããéžæããŸãã
```lua
hoge
```
ãããŠã以äžã®ã³ãã³ããå®è¡ããŸãã
```
GhostwriterPost times Vimé§
äŒçšã«æžãããµã³ãã«ãœãŒã¹ã³ãŒãã§ã ð
```
ãããšã[[Slack]]ã«ã¯ä»¥äžã®ã¡ãã»ãŒãžããã¹ããããŸãã
![[Pasted image 20240917221458.png]]
[[Neovim]]ãéããŠããç¶æ
ã§[[Neovim]]ããäœããæçš¿ããããªãã·ãŒã³ãèãããšãç§ã®å Žåã¯ãã¿ã¹ã¯ã®é²æããç®æ¡æžãã§æŽçããã¡ã¢ããã³ãŒãã¹ããããããå€ãã§ãããã ãããããã**æ¬äœã ãã§æçš¿ããããšã¯ã»ãŒãããŸãã**ã倧æµã®å ŽåãçŽåã«äœãæžããå
¥ãããšã§ãããããæ¬æ¥ã®é²æã§ãããèªåã®èªèã¯ãããªæããªã®ã§ããã©ãã§ããã?ãããšã©ãŒã«ãªã£ãéšåã®ãœãŒã¹ã³ãŒãã§ããã
ãããã®äœãæžãã¯ãããããã[[Neovim]]ã«èšå
¥ããŠãã `GhostwriterPost`ã³ãã³ããå®è¡ããããšãã§ããŸãããããããã®å Žåã¯ã³ãã³ãå®è¡åŸã«äœãæžããåé€ãããšããæéãçºçããŸããäœãæžãã®å
容ã¯äžæã§æžãããšãå€ãããããããªãã°ã³ãã³ãåŒæ°ãšããŠå
¥åã§ããããã«ããããšæã£ã...ãšããããšã§ãã
## GhostwriterWrite
ããã3ã€ç®ãæåŸã®ã³ãã³ãã§ããæ¬èšäºã®ã¿ã€ãã«ã¯ãSlackã«é²æç¶æ³ãå
±æã§ããNeovimãã©ã°ã€ã³ãã€ãã£ãŠã¿ãã...ã§ããããã®ç®çã§æåã«äœæããã®ããã® `GhostwriterWrite`ã³ãã³ãã§ãããã®ã³ãã³ãã¯**ããªãããã¢ãã¯ãªæåããã**ãããæ¢ããŠçŽ¹ä»ãæåŸã«åããŸãããæåã«çŽ¹ä»ãããšããã¢ãã¯ãããŠé¢è±ããæ¹ãå¢ãããã«æããããã§ãã
### ä»ãŸã§ãšåãããš/éãããš
`GhostwriterWrite`ã³ãã³ãã¯ä»¥äžã®ç¹ã§ãä»ãŸã§çŽ¹ä»ãã2ã€ã®ã³ãã³ããšåããããªæåãããŸãã
- [[Markdown]]ã§æžãããããã¹ããèšå®ã«åŸã£ãŠ[[Slack]]ã«é©ãã圢åŒãžå€æãã
- å€æããããã¹ãã[[Slack]]ã«æçš¿ãã
äžæ¹ã`GhostwriterWrite`ã³ãã³ããããã¢ãã¯ãšèšãããæ以ã¯ä»¥äž2ç¹ã§ãã
- æçš¿ãããããã¹ãã®ç¯å²
- æçš¿å
ãšæçš¿ã®ããæ¹
ããããæãäžããŠãããŸãã
### æçš¿ãããããã¹ãã®ç¯å²
`GhostwriterWrite`ã³ãã³ãã§ã¯ã**ã«ã¬ã³ããããã¡ã®2è¡ç®ãã`---`ã®åºåãç·ãç»å ŽãããŸã§**ã®ç¯å²ã[[Slack]]ã«æçš¿ããŸãã`---`ã®åºåãç·ãåºçŸããªããã°[[ãããã¡ (Vim)|ãããã¡]]ã®çµç«¯ãŸã§ãšãªããŸãã
ããšãã°ã以äžã®[[ãããã¡ (Vim)|ãããã¡]]ãéããŠãããšããŸãããã
```
C180CJ5MF
## ã¿ã¹ã¯
- [ ] hoge
- [ ] hoge
- fuga
- fuga
---
ããã¯æçš¿ãããªã
```
ãã®å Žåãæçš¿ãããããã¹ã(å€æå)ã¯ä»¥äžã®ããã«ãªããŸãã
```
## ã¿ã¹ã¯
- [ ] hoge
- [ ] hoge
- fuga
- fuga
```
### æçš¿å
ãšæçš¿ã®ããæ¹
æçš¿å
ãšæçš¿ã®ããæ¹ã¯**ã«ã¬ã³ããããã¡ã®1è¡ç®ã«ãã£ãŠã®ã¿**決ãŸããŸãã1è¡ç®ã«ã¯å¯Ÿå¿ããŠãã以äž4ã€ã®ãã¿ãŒã³ã®ãããããèšèŒããå¿
èŠããããŸãã
| No | ãã¿ãŒã³å | æçš¿ã®ããæ¹ |
| --- | -------------------- | ---------------------------- |
| 1 | æçš¿ã®URL | **æå®æçš¿ãåé€ããåchannelã«æ°èŠæçš¿ãã** |
| 2 | channelã®URL | æå®channelã«æ°èŠæçš¿ãã |
| 3 | channel IDãštsã®ã«ã³ãåºåã | **æå®æçš¿ãåé€ããåchannelã«æ°èŠæçš¿ãã** |
| 4 | channel ID | æå®channelã«æ°èŠæçš¿ãã |
åãã¿ãŒã³ã®å
·äœçãªå€ã§ãã
```bash
# ãã¿ãŒã³1 (æçš¿ã®URL)
https://minerva.slack.com/archives/C2J10C5MF/p1722259290076499
# ãã¿ãŒã³2 (channelã®URL)
https://app.slack.com/client/TKY180702/C2J10C5MF
# ãã¿ãŒã³3 (channel IDãštsã®ã«ã³ãåºåã)
C2J10C5MF,1722347931.398509
# ãã¿ãŒã³4 (channel ID)
C2J10C5MF
```
[[#æçš¿ãããããã¹ãã®ç¯å²]] ã§æ瀺ããäŸã¯ãã¿ãŒã³4 (channel ID) ãšãªããŸãã
### ãæå®æçš¿ãåé€ããåchannelã«æ°èŠæçš¿ãããããšã®æ矩
ãã¿ãŒã³2ãš4..ãæå®channelã«æ°èŠæçš¿ãããã«ã€ããŠã¯ãããŸã§æ°ã«ãªãç¹ããªããšæããŸããæå®ããchannelã«ãããã¡ã®æçš¿ç¯å²ããã¹ãããã ãã§ãã
ãããããæå®æçš¿ãåé€ããåchannelã«æ°èŠæçš¿ãããã«ã€ããŠã¯ããæã£ãæ¹ãããã£ãããã®ã§ã¯ãªãã§ããããã
```
ãæå®æçš¿ãåé€ããããã®ãŸãŸæŽæ°ããããæ°ããæçš¿ããæ¹ãããã®ã§ã¯...ã
```
ãŸãã«ããã®éšåã«[[ðŠghostwriter.nvim]]ã«å¯Ÿããæããããã®ã§ãã
### GhostwriterWriteãå®è¡ããŠããåç»ãèŠãŠã¿ã
çŸèã¯äžèŠã«åŠãããå®éã«å©çšããŠããåç»ãã芧ãã ããã
![[2024-09-17-23-04-51.webm]]
ãã®åç»ã¯ãããchannelã«å¯ŸããŠã`task.md`ã«èšèŒãããã¿ã¹ã¯é²æç¶æ³ãå
±æããããšããã·ããªãªãæ³å®ããŠããŸãã`<C-j>w`ãšããããŒã«ã³ãã³ããå²ãåœãŠãŠãããã[[ã³ãã³ãã©ã€ã³ã¢ãŒã]]ã¯è¡šç€ºãããŠããŸããããã¿ãŒããã«ã®å³äžã«éç¥ã衚瀺ãããã¿ã€ãã³ã°ã§ã³ãã³ããå®è¡ãããŠããŸããåç»ããã¯ä»¥äžã®æµãã確èªã§ããŸãã
1. ã³ãã³ããå®è¡ãããšæçš¿ç¯å²ã®ããã¹ãã[[Slack]]ã«æçš¿ããã
2. 1åç®ã¯ãããã¡1è¡ç®ã®channel IDãããšã«å¯Ÿè±¡channelãžæçš¿ãã
3. **æçš¿ãããã¡ãã»ãŒãžã®channel IDãštsããããã¡ã®1è¡ç®ã«äžæžãããã**
4. **2åç®ä»¥éã¯channel IDãštsãããååæçš¿ãåé€ããŠæ°ããæçš¿ãè¡ã**
5. 3ã«æ»ã
ãã®ããã«ãé²æå
容ãæŽæ°ã㊠`GhostwriterWrite`ã³ãã³ããå®è¡ãã...ãšãããããŒãç¹°ãè¿ããšã**åžžã«channelã®ææ°æçš¿ã«ãææ°ã®é²æç¶æ³ã衚瀺**ãããŸãããã®æåã«ã¯ä»¥äžã®ã¡ãªããããããŸãã
- channel確èªè
ã¯åžžã«ææ°ã®é²æç¶æ³ããã¡ãŒã¹ããã¥ãŒã§ç¢ºèªã§ãã (æŽæ°æéå«ã)
- éäžã®é²ææçš¿ãåé€ããããããæçµçãªchannelã®ã¿ã€ã ã©ã€ã³ãã¹ãããªãã
äžæ¹ãæçš¿å
容ãæŽæ°ãããæ°ããæçš¿ããªããããšã«æ¯ã¹ã以äžã®ãã¡ãªãããæããå ŽåããããšæããŸãã
- éäžãéäžã§ã®é²æç¶æ³ãèšé²ãããªã
- é²æç¶æ³ãé·ããªããšããã¡ãŒã¹ããã¥ãŒãé²æç¶æ³ã ãã§åãŸã£ãŠããŸã
- é²æç¶æ³ã®æçš¿ã«ã¹ã¬ããã§è¿ä¿¡ãããšãã¹ã¬ããã®èŠªãåé€æ±ãã«ãªã£ãŠããŸã
- æ°èŠæçš¿éç¥ããããããã
æ£çŽãããã¯ç¶æ³ãšå¥œã¿ã®åé¡ã§ããããä»ã®[[ðŠghostwriter.nvim]]ã«æçš¿ãæŽæ°ããæ©èœããé£ç¶ããŠæ°èŠæçš¿ããæ©èœã¯ãããŸããããããã[[ðŠghostwriter.nvim]]ãä»ã®[[Vimmer]]ã«ãåãå
¥ãããããã®ãããªããŒãºãåºãŠããã察å¿ããã€ããã§ã¯ããŸãã
## ãŸãšã
ã¯ãããŠã€ãã£ã[[Neovimãã©ã°ã€ã³]]ã[[ðŠghostwriter.nvim]]ãã玹ä»ããŸãããåœåã¯é²æç¶æ³ã®å
±æ (`GhostwriterWrite`) ã«ç¹åãããã©ã°ã€ã³ã§ããããããšããè¿œå ããã³ãã³ãã«ãããç°¡æçãª[[Slack]]æçš¿çšã¯ã©ã€ã¢ã³ããšããŠãå©çšã§ããŸãã
- PCã¹ããã¯ã®éœåã§[[Slack]]ãç«ã¡äžããããªãæ¹
- [[Neovim]]ãã¿ãŒããã«ããé¢ããããªãæ¹
- æ°ãæ£ããã[[Slack]]ãèŠãŠããªããã©æçš¿ã¯ãããæ¹
æ¯éãè©Šãããã ããã°ãšæããŸãã
æ¬åœã¯[[Lua]]ã[[lua-language-server|LuaLS]]ã«é¢ãã䜿ãåæã®è©±ãçã蟌ã¿ããã£ãã®ã§ãããããªã¥ãŒã ãååã§ããæéããªããããããã¯æ¬¡ã®æ©äŒãšãããŠãã ããã
æåŸã«... ç§ã[[ðŠghostwriter.nvim]]ã䜿ã£ãŠããã±ãŒã¹ãç®æ¡æžãã§åæããŠçµäºãšãããŠããã ããŸãã
- `GhostwriterWrite`ã³ãã³ã
- times channel ã«æ¬æ¥ã®æ¥åé²æç¶æ³ãå
±æ
- 1on1 ã MTG ã§è°äºé²æç¶æ³ãå
±æ
- `GhostwriterPost`ã³ãã³ã
- ã¿ã¹ã¯ç®¡çchannelã«ã¿ã¹ã¯ãè¿œå
- ããŒã ã®channelãžã©ãã«æ
å ±å
±æ
- `GhostwriterCopy`ã³ãã³ã
- æ¥å ±ãé±å ±ãªã©ãSlackã§ç·šéããéã«äžæžããšããŠå©çš
ä»ã«æçšãªã±ãŒã¹ããããŸãããã[[Bluesky]]ã[[GitHub]]ã®æ¹ãŸã§ãªã¢ã¯ã·ã§ã³ãã ããïŒ