Skip to content

Instantly share code, notes, and snippets.

@mhanberg
Last active October 3, 2023 17:28
Show Gist options
  • Save mhanberg/4f7754e55690e2e082bbd71c874a9e4e to your computer and use it in GitHub Desktop.
Save mhanberg/4f7754e55690e2e082bbd71c874a9e4e to your computer and use it in GitHub Desktop.
{
"test\/**\/components\/*_test.exs": {
"type": "test",
"template": [
"defmodule {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}Test do",
" use {dirname|camelcase|capitalize}.ConnCase, async: true",
"",
" alias {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}",
"end"
],
"alternate": "lib\/{dirname}\/components\/{basename}.ex"
},
"lib\/**\/views\/*_view.ex": {
"type": "view",
"template": [
"defmodule {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}View do",
" use {dirname|camelcase|capitalize}, :view",
"end"
],
"alternate": "test\/{dirname}\/views\/{basename}_view_test.exs"
},
"test\/**\/channels\/*_channel_test.exs": {
"type": "test",
"template": [
"defmodule {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}ChannelTest do",
" use {dirname|camelcase|capitalize}.ChannelCase, async: true",
"",
" alias {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}Channel",
"end"
],
"alternate": "lib\/{dirname}\/channels\/{basename}_channel.ex"
},
"test\/**\/controllers\/*_json_test.exs": {
"type": "test",
"template": [
"defmodule {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}JSONTest do",
" use {dirname|camelcase|capitalize}.ConnCase, async: true",
"",
" alias {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}JSON",
"end"
],
"alternate": "lib\/{dirname}\/controllers\/{basename}_json.ex"
},
"lib\/**\/channels\/*_channel.ex": {
"type": "channel",
"template": [
"defmodule {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}Channel do",
" use {dirname|camelcase|capitalize}, :channel",
"end"
],
"alternate": "test\/{dirname}\/channels\/{basename}_channel_test.exs"
},
"lib\/**\/controllers\/*_json.ex": {
"type": "json",
"template": [
"defmodule {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}JSON do",
"end"
],
"alternate": "test\/{dirname}\/controllers\/{basename}_json_test.exs"
},
"test\/**\/live\/*_test.exs": {
"type": "test",
"template": [
"defmodule {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}Test do",
" use {dirname|camelcase|capitalize}.ConnCase",
"",
" import Phoenix.LiveViewTest",
"end"
],
"alternate": "lib\/{dirname}\/live\/{basename}.ex"
},
"lib\/mix\/tasks\/*.ex": {
"type": "task",
"template": [
"defmodule Mix.Tasks.{camelcase|capitalize|dot|elixir_module} do",
" use Mix.Task",
"",
" @shortdoc \"{}\"",
"",
" @moduledoc \"\"\"",
" {}",
" \"\"\"",
"",
" @impl true",
" @doc false",
" def run(argv) do",
"",
" end",
"end"
],
"alternate": "test\/mix\/tasks\/{}_test.exs"
},
"test\/*_test.exs": {
"type": "test",
"template": [
"defmodule {camelcase|capitalize|dot|elixir_module}Test do",
" use ExUnit.Case, async: true",
"",
" alias {camelcase|capitalize|dot|elixir_module}",
"end"
],
"alternate": "lib\/{}.ex"
},
"lib\/**\/live\/*.ex": {
"type": "liveview",
"template": [
"defmodule {dirname|camelcase|capitalize}.{basename|camelcase|capitalize} do",
" use {dirname|camelcase|capitalize}, :live_view",
"end"
],
"alternate": "test\/{dirname}\/live\/{basename}_test.exs"
},
"lib\/**\/controllers\/*_html.ex": {
"type": "html",
"template": [
"defmodule {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}HTML do",
" use {dirname|camelcase|capitalize}, :html",
"",
" embed_templates \"{basename|snakecase}_html\/*\"",
"end"
],
"alternate": "test\/{dirname}\/controllers\/{basename}_html_test.exs"
},
"lib\/**\/live\/*_component.ex": {
"type": "livecomponent",
"template": [
"defmodule {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}Component do",
" use {dirname|camelcase|capitalize}, :live_component",
"end"
],
"alternate": "test\/{dirname}\/live\/{basename}_component_test.exs"
},
"lib\/**\/components\/*.ex": {
"type": "component",
"template": [
"defmodule {dirname|camelcase|capitalize}.{basename|camelcase|capitalize} do",
" use Phoenix.Component",
"end"
],
"alternate": "test\/{dirname}\/components\/{basename}_test.exs"
},
"test\/**\/views\/*_view_test.exs": {
"type": "test",
"template": [
"defmodule {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}ViewTest do",
" use ExUnit.Case, async: true",
"",
" alias {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}View",
"end"
],
"alternate": "lib\/{dirname}\/views\/{basename}_view.ex"
},
"lib\/*.ex": {
"type": "source",
"template": [
"defmodule {camelcase|capitalize|dot} do",
"end"
],
"alternate": "test\/{}_test.exs"
},
"test\/**\/controllers\/*_controller_test.exs": {
"type": "test",
"template": [
"defmodule {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}ControllerTest do",
" use {dirname|camelcase|capitalize}.ConnCase, async: true",
"end"
],
"alternate": "lib\/{dirname}\/controllers\/{basename}_controller.ex"
},
"test\/**\/live\/*_component_test.exs": {
"type": "test",
"template": [
"defmodule {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}ComponentTest do",
" use {dirname|camelcase|capitalize}.ConnCase",
"",
" import Phoenix.LiveViewTest",
"end"
],
"alternate": "lib\/{dirname}\/live\/{basename}_component.ex"
},
"test\/**\/controllers\/*_html_test.exs": {
"type": "test",
"template": [
"defmodule {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}HTMLTest do",
" use {dirname|camelcase|capitalize}.ConnCase, async: true",
"",
" alias {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}HTML",
"end"
],
"alternate": "lib\/{dirname}\/controllers\/{basename}_html.ex"
},
"lib\/**\/controllers\/*_controller.ex": {
"type": "controller",
"template": [
"defmodule {dirname|camelcase|capitalize}.{basename|camelcase|capitalize}Controller do",
" use {dirname|camelcase|capitalize}, :controller",
"end"
],
"alternate": "test\/{dirname}\/controllers\/{basename}_controller_test.exs"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment