aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Hellyer <[email protected]>2016-11-05 23:10:44 -0700
committerAustin Hellyer <[email protected]>2016-11-05 23:10:44 -0700
commit37ee7883398ffb2b4e4e9e1652468f9afbb7b57b (patch)
treeca037c8d29163e50f2ce8e371c039ab6b2a7382d
parentConvert all doc anchors to named anchors (diff)
downloadserenity-37ee7883398ffb2b4e4e9e1652468f9afbb7b57b.tar.xz
serenity-37ee7883398ffb2b4e4e9e1652468f9afbb7b57b.zip
Add a prelude for userland
Users can now import all of a prelude via `use serenity::prelude::*;`, which should provide some helpful stuff. As such, the internal prelude is now named `serenity::prelude_internal`, and all internal uses have been adjusted.
-rw-r--r--src/client/connection.rs2
-rw-r--r--src/client/context.rs2
-rw-r--r--src/client/dispatch.rs2
-rw-r--r--src/client/http.rs2
-rw-r--r--src/client/mod.rs2
-rw-r--r--src/client/ratelimiting.rs2
-rw-r--r--src/constants.rs2
-rw-r--r--src/lib.rs3
-rw-r--r--src/model/channel.rs2
-rw-r--r--src/model/gateway.rs2
-rw-r--r--src/model/guild.rs2
-rw-r--r--src/model/id.rs2
-rw-r--r--src/model/invite.rs2
-rw-r--r--src/model/misc.rs2
-rw-r--r--src/model/mod.rs2
-rw-r--r--src/model/permissions.rs2
-rw-r--r--src/model/user.rs2
-rw-r--r--src/model/utils.rs2
-rw-r--r--src/prelude.rs24
-rw-r--r--src/prelude_internal.rs9
-rw-r--r--src/utils/mod.rs2
21 files changed, 46 insertions, 26 deletions
diff --git a/src/client/connection.rs b/src/client/connection.rs
index ef7d949..2b70518 100644
--- a/src/client/connection.rs
+++ b/src/client/connection.rs
@@ -23,7 +23,7 @@ use websocket::ws::receiver::Receiver as WsReceiver;
use websocket::ws::sender::Sender as WsSender;
use ::constants::{self, OpCode};
use ::model::*;
-use ::prelude::*;
+use ::prelude_internal::*;
enum Status {
SendMessage(Value),
diff --git a/src/client/context.rs b/src/client/context.rs
index d8700e2..2fb0d22 100644
--- a/src/client/context.rs
+++ b/src/client/context.rs
@@ -15,7 +15,7 @@ use ::builder::{
GetMessages
};
use ::model::*;
-use ::prelude::*;
+use ::prelude_internal::*;
use ::utils;
#[derive(Clone)]
diff --git a/src/client/dispatch.rs b/src/client/dispatch.rs
index 567bc6e..9a7fc2d 100644
--- a/src/client/dispatch.rs
+++ b/src/client/dispatch.rs
@@ -5,7 +5,7 @@ use super::login_type::LoginType;
use super::{STATE, Connection, Context};
use ::ext::framework::Framework;
use ::model::{ChannelId, Event, Message};
-use ::prelude::*;
+use ::prelude_internal::*;
macro_rules! handler {
($field:ident, $event_store:ident) => {
diff --git a/src/client/http.rs b/src/client/http.rs
index d55420c..fca8865 100644
--- a/src/client/http.rs
+++ b/src/client/http.rs
@@ -35,7 +35,7 @@ use std::sync::{Arc, Mutex};
use super::ratelimiting::{self, Route};
use ::constants;
use ::model::*;
-use ::prelude::*;
+use ::prelude_internal::*;
use ::utils::decode_array;
lazy_static! {
diff --git a/src/client/mod.rs b/src/client/mod.rs
index 494a86e..7870e2e 100644
--- a/src/client/mod.rs
+++ b/src/client/mod.rs
@@ -55,7 +55,7 @@ use std::sync::{Arc, Mutex};
use std::thread;
use std::time::Duration;
use ::model::*;
-use ::prelude::*;
+use ::prelude_internal::*;
use ::ext::framework::Framework;
use ::ext::state::State;
diff --git a/src/client/ratelimiting.rs b/src/client/ratelimiting.rs
index 84d75b5..5690dbe 100644
--- a/src/client/ratelimiting.rs
+++ b/src/client/ratelimiting.rs
@@ -8,7 +8,7 @@ use std::thread;
use std::time::Duration;
use super::http;
use time;
-use ::prelude::*;
+use ::prelude_internal::*;
lazy_static! {
static ref GLOBAL: Arc<Mutex<RateLimit>> = Arc::new(Mutex::new(RateLimit::default()));
diff --git a/src/constants.rs b/src/constants.rs
index d485b5b..e5190e0 100644
--- a/src/constants.rs
+++ b/src/constants.rs
@@ -1,4 +1,4 @@
-use ::prelude::*;
+use ::prelude_internal::*;
/// The base URI for the API.
pub const API_BASE: &'static str = "https://discordapp.com/api/v6";
diff --git a/src/lib.rs b/src/lib.rs
index 337bee8..92d27f8 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -96,10 +96,11 @@ pub mod builder;
pub mod client;
pub mod ext;
pub mod model;
+pub mod prelude;
mod constants;
mod error;
-mod prelude;
+mod prelude_internal;
pub use client::Client;
pub use error::{Error, Result};
diff --git a/src/model/channel.rs b/src/model/channel.rs
index 4fa08b9..84bc61f 100644
--- a/src/model/channel.rs
+++ b/src/model/channel.rs
@@ -14,7 +14,7 @@ use super::*;
use super::utils;
use ::builder::{CreateInvite, EditChannel};
use ::client::{STATE, http};
-use ::prelude::*;
+use ::prelude_internal::*;
use ::utils::decode_array;
impl Attachment {
diff --git a/src/model/gateway.rs b/src/model/gateway.rs
index cf226df..60c9566 100644
--- a/src/model/gateway.rs
+++ b/src/model/gateway.rs
@@ -2,7 +2,7 @@ use std::collections::{BTreeMap, HashMap};
use super::utils::*;
use super::*;
use ::constants::{OpCode, VoiceOpCode};
-use ::prelude::*;
+use ::prelude_internal::*;
use ::utils::decode_array;
#[derive(Clone, Debug)]
diff --git a/src/model/guild.rs b/src/model/guild.rs
index 322233f..9b4bee1 100644
--- a/src/model/guild.rs
+++ b/src/model/guild.rs
@@ -16,7 +16,7 @@ use super::utils::{
use super::*;
use ::builder::{EditGuild, EditMember, EditRole};
use ::client::{STATE, http};
-use ::prelude::*;
+use ::prelude_internal::*;
use ::utils::{Colour, decode_array};
impl From<Guild> for GuildContainer {
diff --git a/src/model/id.rs b/src/model/id.rs
index c8eff69..967b18c 100644
--- a/src/model/id.rs
+++ b/src/model/id.rs
@@ -1,6 +1,6 @@
use super::*;
use ::client::{STATE, http};
-use ::prelude::*;
+use ::prelude_internal::*;
impl ChannelId {
/// Search the state for the channel with the Id.
diff --git a/src/model/invite.rs b/src/model/invite.rs
index 5cb9cb9..23b0aa3 100644
--- a/src/model/invite.rs
+++ b/src/model/invite.rs
@@ -1,6 +1,6 @@
use super::{Invite, RichInvite};
use ::client::http;
-use ::prelude::*;
+use ::prelude_internal::*;
use super::{permissions, utils};
impl Invite {
diff --git a/src/model/misc.rs b/src/model/misc.rs
index 6b8a90e..17b97c9 100644
--- a/src/model/misc.rs
+++ b/src/model/misc.rs
@@ -10,7 +10,7 @@ use super::{
User,
IncidentStatus
};
-use ::prelude::*;
+use ::prelude_internal::*;
pub trait Mentionable {
fn mention(&self) -> String;
diff --git a/src/model/mod.rs b/src/model/mod.rs
index 2212747..1e94d99 100644
--- a/src/model/mod.rs
+++ b/src/model/mod.rs
@@ -25,7 +25,7 @@ pub use self::voice::*;
use self::utils::*;
use std::collections::HashMap;
use std::fmt;
-use ::prelude::*;
+use ::prelude_internal::*;
use ::utils::decode_array;
// All of the enums and structs are imported here. These are built from the
diff --git a/src/model/permissions.rs b/src/model/permissions.rs
index b14ab82..7097899 100644
--- a/src/model/permissions.rs
+++ b/src/model/permissions.rs
@@ -35,7 +35,7 @@
//! [Manage Messages]: constant.MANAGE_MESSAGES.html
//! [Manage Roles]: constant.MANAGE_ROLES.html
-use ::prelude::*;
+use ::prelude_internal::*;
/// Returns a set of permissions with the original @everyone permissions set
/// to true.
diff --git a/src/model/user.rs b/src/model/user.rs
index cb235ab..fc21ea5 100644
--- a/src/model/user.rs
+++ b/src/model/user.rs
@@ -12,7 +12,7 @@ use super::{
User
};
use ::client::{STATE, http};
-use ::prelude::*;
+use ::prelude_internal::*;
use ::utils::decode_array;
impl User {
diff --git a/src/model/utils.rs b/src/model/utils.rs
index 0dbc41d..a05ff20 100644
--- a/src/model/utils.rs
+++ b/src/model/utils.rs
@@ -17,7 +17,7 @@ use super::{
VoiceState,
};
use ::client::STATE;
-use ::prelude::*;
+use ::prelude_internal::*;
use ::utils::{decode_array, into_array};
#[macro_escape]
diff --git a/src/prelude.rs b/src/prelude.rs
index 45906bf..c5d8e20 100644
--- a/src/prelude.rs
+++ b/src/prelude.rs
@@ -1,9 +1,19 @@
-//! These prelude re-exports are a set of exports that are commonly used from
-//! within the library.
+//! A set of exports which can be helpful to use.
//!
-//! These are not publicly re-exported to the end user, and must stay as a
-//! private module.
+//! Note that the `SerenityError` re-export is equivilant to
+//! [`serenity::Error`], although is re-exported as a separate name to remove
+//! likely ambiguity with other crate error enums.
+//!
+//! # Examples
+//!
+//! Import all of the exports:
+//!
+//! ```rust
+//! use discord::prelude::*;
+//! ```
+//!
+//! [`serenity::Error`]: ../enum.Error.html
-pub use serde_json::Value;
-pub use ::error::{Error, Result};
-pub use ::client::ClientError;
+pub use ::client::{Client, ClientError};
+pub use ::error::{Error as SerenityError};
+pub use ::model::Mentionable;
diff --git a/src/prelude_internal.rs b/src/prelude_internal.rs
new file mode 100644
index 0000000..9b6b993
--- /dev/null
+++ b/src/prelude_internal.rs
@@ -0,0 +1,9 @@
+//! These prelude re-exports are a set of exports that are commonly used from
+//! within the library.
+//!
+//! These are not publicly re-exported to the end user, and must stay as a
+//! private module.
+
+pub use serde_json::Value;
+pub use ::client::ClientError;
+pub use ::error::{Error, Result};
diff --git a/src/utils/mod.rs b/src/utils/mod.rs
index 294d7a7..3ad6303 100644
--- a/src/utils/mod.rs
+++ b/src/utils/mod.rs
@@ -7,7 +7,7 @@ use std::ffi::OsStr;
use std::fs::File;
use std::io::Read;
use std::path::Path;
-use ::prelude::*;
+use ::prelude_internal::*;
mod colour;
mod message_builder;